Webbdelar som är beroende av WPProperty kanske inte längre fungerar korrekt i SharePoint Server (KB5003528)

Gäller för
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Symptom

En webbdel som är beroende av WPProperty kanske inte längre fungerar korrekt och genererar a7wm1-händelsetaggar i SharePoint ULS-loggarna (Unified Logging System).

Orsak

Det här problemet beror på att SharePoint Server nu kräver att servergrupper deklarerar de .NET-typer som har åtkomst till WPProperty i web.config-filen. NET-typerna som inte visas har inte åtkomst till WPProperty som en säkerhetsåtgärd.

Lösning

Lös problemet genom att installera någon av följande uppdateringar:

För att få webbdelen att fungera som förväntat utför du följande steg för att deklarera att de berörda .NET-typerna har åtkomst till WPProperty i web.config-filen.

Viktigt!

Tillåt endast . NET-typer att komma åt WPProperty efter att du har bekräftat att det är säkert att göra det.

  1. Öppna den web.config filen för webbprogrammet på varje server i SharePoint-servergruppen.

  2. Leta reda på avsnittet konfiguration/SharePoint/SafeMode .

  3. Lägg till ett AllowedWPProperties-avsnitt om det inte redan finns.

  4. Lägg till ett nytt AllowedWPProperty-element med attributen type och propertyName för att representera den typ som ska tillåtas komma åt 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>

  5. Spara ändringarna i web.config-filen.

Om du vill identifiera rätt värden för attributen type och propertyName frågar du ULS-loggen efter händelsetaggen a7wm1 och noterar loggposten. Till exempel:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Om du vill tillåta att den här typen får åtkomst till WPProperty anger du attributet AllowedWPPProperty till det blockerade AssemblyQualifiedName-värdet och anger propertyName-attributet till värdet för blockerat egenskapsnamn.

Ändringshistorik

I följande tabell sammanfattas några av de viktigaste ändringarna i det här avsnittet.

Datum Beskrivning
14 september 2021 Två uppdateringar har lagts till i avsnittet "Upplösning".