Nettdeler som er avhengige av WPProperty, fungerer kanskje ikke lenger riktig i SharePoint Server (KB5003528)

Gjelder for
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Symptomer

En nettdel som er avhengig av WPProperty , fungerer kanskje ikke lenger på riktig måte og genererer a7wm1-hendelseskoder i SharePoint Unified Logging System-logger (ULS).

Årsak

Dette problemet oppstår fordi SharePoint Server nå krever at farmer deklarerer .NET-typene som har tilgang til WPProperty i web.config filen. .NET-typene som ikke er oppført, har ikke tilgang til WPProperty som en sikkerhetsforholdsregel.

Oppløsning

Du kan løse dette problemet ved å installere en av følgende oppdateringer:

Hvis du vil at nettdelen skal fungere som forventet, kan du gjøre følgende for å deklarere de(n) berørte .NET-type(r) som har tilgang til WPProperty i web.config filen.

Viktig

Tillat bare .NET-typer å få tilgang til WPProperty etter at du har bekreftet at det er trygt å gjøre det.

  1. Åpne web.config filen for nettprogrammet på hver server i SharePoint-farmen.

  2. Finn delen konfigurasjon/SharePoint/Sikkermodus .

  3. Legg til en AllowedWPProperties-seksjon hvis den ikke allerede eksisterer.

  4. Legg til et nytt AllowedWPProperty-element med attributtene type og propertyName for å representere typen som skal ha tilgang til 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. Lagre endringen i den web.config filen.

Du kan identifisere de riktige verdiene for type - og propertyName-attributtene ved å spørre ULS-loggen etter hendelseskoden a7wm1 og notere loggoppføringen. Eksempel:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Hvis du vil gi denne typen tilgang til WPProperty, angir du typeattributtet AllowedWPPProperty til verdien for blokkert AssemblyQualifiedName, og angir propertyName-attributtet til den blokkerte egenskapsnavnverdien.

Endringslogg

Tabellen nedenfor oppsummerer noen av de viktigste endringene i dette emnet.

Dato Beskrivelse
14. september 2021 La til to oppdateringer i delen «Løsning».