Sintomi
Una web part che dipende da WPProperty potrebbe non funzionare più correttamente e genera tag di evento a7wm1 nei SharePoint Unified Logging System (ULS).
Causa
Questo problema si verifica perché SharePoint Server richiede ora alle farm di dichiarare i tipi .NET autorizzati ad accedere a WPProperty nel file web.config. I tipi .NET non elencati non hanno accesso a WPProperty come precauzione di sicurezza.
Risoluzione
Per risolvere il problema, installare uno degli aggiornamenti seguenti:
-
Descrizione dell'aggiornamento della sicurezza SharePoint Server 2019: 14 settembre 2021 (KB5002018)
Per fare in modo che la web part funzioni come previsto, eseguire la procedura seguente per dichiarare i tipi .NET interessati come autorizzati ad accedere a WPProperty nel file web.config.
Importante: Consentire ai tipi .NET di accedere a WPProperty solo dopo aver confermato che questa operazione è sicura.
-
Aprire il file web.config'applicazione Web in ogni server della SharePoint farm.
-
Trovare la sezione configuration/SharePoint/SafeMode.
-
Aggiungere una sezione AllowedWPProperties, se non esiste già.
-
Aggiungere un nuovo elemento AllowedWPProperty con attributi type e propertyName per rappresentare il tipo a cui deve essere consentito l'accesso a WPProperty.
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<AllowedWPProperties>
<AllowedWPProperty type="<allowedWPPropertyTypeName>,<allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" propertyName="<Allow WPProperty property name>"/>
</AllowedWPProperties>
</SafeMode> -
Salvare la modifica nel file web.config file.
Per identificare i valori corretti per gli attributi type e propertyName, eseguire una query nel log ULS per il tag dell'evento a7wm1 e prendere nota della voce del log. Ad esempio:
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
Per consentire a questo tipo di accedere a WPProperty,impostare l'attributo di tipo AllowedWPPProperty sul valore bloccato di AssemblyQualifiedName e impostare l'attributo propertyName sul valore del nome della proprietà bloccato.
Cronologia modifiche
La tabella seguente riepiloga alcune delle modifiche più importanti apportate a questo argomento.
Date |
Descrizione |
---|---|
14 settembre 2021 |
Sono stati aggiunti due aggiornamenti nella sezione "Risoluzione". |