Problembeschreibung
Ein Webpart, das von WPProperty abhängt, funktioniert möglicherweise nicht mehr richtig und erzeugt a7wm1-Ereignis-Tags in SharePoint Unified Logging System-Protokollen (ULS).
Ursache
Dieses Problem tritt auf, weil SharePoint Server jetzt verlangt, dass Farmen die .NET-Typen, die auf WPProperty zugreifen dürfen, in der Datei „web.config“ deklarieren. Die nicht aufgeführten .NET-Typen haben aus Sicherheitsgründen keinen Zugriff auf WPProperty.
Lösung
Installieren Sie zur Behebung des Problems eines der folgenden Updates:
-
Hinweise zum Sicherheitsupdate für SharePoint Server 2019: 14. September 2021 (KB5002018)
-
Hinweise zum Sicherheitsupdate für SharePoint Enterprise Server 2016: 08. Juni 2021 (KB5001946)
-
Hinweise zum Sicherheitsupdate für SharePoint Foundation 2013: 14. September 2021 (KB5002024)
Gehen Sie wie folgt vor, um den betroffenen .NET-Typ(en) den Zugriff auf WPProperty in der Datei „web.config“ zu erlauben, damit das Webpart wie erwartet funktioniert.
Wichtig: Gestatten Sie .NET-Typen den Zugriff auf WPProperty nur dann, wenn Sie sich davon überzeugt haben, dass dies sicher ist.
-
Öffnen Sie die Datei „web.config“ Ihrer Webanwendung auf jedem Server in Ihrer SharePoint-Farm.
-
Suchen Sie den Abschnitt SharePoint/SafeMode.
-
Fügen Sie einen Abschnitt AllowedWPProperties hinzu, wenn er nicht bereits vorhanden ist.
-
Fügen Sie ein neues AllowedWPProperty -Element mit den Attributen type und propertyName hinzu, um den Typ zu repräsentieren, der auf WPProperty zugreifen darf.
<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> -
Speichern Sie die Änderungen an der Datei „web.config“.
Um die richtigen Werte für die Attribute type und propertyName zu ermitteln, fragen Sie das ULS-Protokoll nach dem Ereignis-Tag a7wm1 ab und notieren Sie sich den Protokolleintrag. Beispiel:
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
Um diesem Typ den Zugriff auf WPProperty zu erlauben, setzen Sie das Attribut type „AllowedWPPProperty“ auf den Wert des blockierten „AssemblyQualifiedName“ und das Attribut propertyName auf den Wert des blockierten Eigenschaftennamens.
Änderungsverlauf
In der folgenden Tabelle sind einige der wichtigsten Änderungen an diesem Thema zusammengefasst.
Datum |
Beschreibung |
---|---|
14. September 2021 |
Im Abschnitt „Lösung“ wurden zwei Updates hinzugefügt. |