Este posibil ca părțile web care depind de WPProperty să nu mai funcționeze corect în SharePoint Server (KB5003528)

Se aplică la
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Simptome

Este posibil ca o parte web care depinde de WPProperty să nu mai funcționeze corect și să genereze etichete de eveniment a7wm1 în jurnalele SharePoint Unified Logging System (ULS).

Cauză

Această problemă apare deoarece SharePoint Server solicită acum fermelor să declare tipurile .NET care au permisiunea de a accesa WPProperty în fișierul web.config. Tipurile .NET care nu sunt listate nu vor avea acces la WPProperty ca măsură de securitate.

Rezolvare

Pentru a rezolva această problemă, instalați una dintre următoarele actualizări:

Pentru ca partea web să funcționeze așa cum vă așteptați, urmați acești pași pentru a declara tipurile .NET afectate ca având permisiunea de a accesa WPProperty în fișierul web.config.

Important

Permiteți tipurilor .NET să acceseze WPProperty doar după ce ați confirmat că este sigur să faceți acest lucru.

  1. Deschideți fișierul web.config al aplicației web pe fiecare server din ferma SharePoint.

  2. Găsiți secțiunea configurare/SharePoint/SafeMode .

  3. Adăugați o secțiune AllowedWPProperties dacă nu există deja.

  4. Adăugați un nou element AllowedWPProperty cu atributele type și propertyName pentru a reprezenta tipul căruia ar trebui să i se permită accesarea 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. Salvați modificarea în fișierul web.config.

Pentru a identifica valorile corecte pentru atributele type și propertyName , interogați jurnalul ULS pentru eticheta de eveniment a7wm1 și notați intrarea în jurnal. De exemplu:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Pentru a permite acestui tip să acceseze WPProperty, setați atributul de tip AllowedWPPProperty la valoarea AssemblyQualifiedName blocată și setați atributul propertyName la valoarea numelui proprietății blocate.

Istoricul modificărilor

Următorul tabel rezumă unele dintre cele mai importante modificări la acest subiect.

Dată Descriere
14 septembrie, 2021 Au fost adăugate două actualizări în secțiunea "Rezolvare".