Webové časti, ktoré závisia od WPProperty, už nemusia fungovať správne na SharePoint Serveri (KB5003528)

Vzťahuje sa na
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Príznaky

Webová časť, ktorá závisí od WPProperty , už nemusí fungovať správne a v denníkoch ULS (Unified Logging System) SharePointu generuje značky udalostí a7wm1 .

Príčina

Tento problém sa vyskytuje, pretože SharePoint Server teraz vyžaduje, aby farmy deklarovali typy rozhrania .NET, ktoré majú povolený prístup do funkcie WPProperty v súbore web.config. Typy .NET, ktoré nie sú uvedené, nebudú mať z bezpečnostných dôvodov prístup k WPProperty .

Riešenie

Ak chcete tento problém vyriešiť, nainštalujte niektorú z nasledujúcich aktualizácií:

Ak chcete, aby webová časť fungovala podľa očakávaní, vykonaním nasledujúcich krokov deklarujte príslušné typy rozhrania .NET ako povolené na prístup do WPProperty v súbore web.config.

Dôležité

Typom z rozhrania .NET povoliť prístup do WPProperty až potom, čo ste si overili, že je to bezpečné.

  1. Otvorte súbor web.config webovej aplikácie na každom serveri vo farme SharePoint.

  2. Vyhľadajte časť Konfigurácia/SharePoint/Núdzový režim .

  3. Pridajte sekciu AllowedWPProperties , ak ešte neexistuje.

  4. Pridajte nový prvok AllowedWPProperty s atribútmi type a propertyName , ktorý bude predstavovať typ, ktorý by mal mať povolený prístup do 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. Zmeny uložte do súboru web.config.

Ak chcete identifikovať správne hodnoty pre atribúty type a propertyName , dotazujte denník ULS na značku udalosti a7wm1 a poznačte si položku denníka. Príklad:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Ak chcete tomuto typu povoliť prístup k WPProperty, nastavte atribút typu AllowedWPPProperty na zablokovanú hodnotu AssemblyQualifiedName a atribút propertyName nastavte na hodnotu zablokovaného názvu vlastnosti.

História zmien

V nasledujúcej tabuľke sú zhrnuté niektoré z najdôležitejších zmien v tejto téme.

Dátum Popis
14. septembr 2021 Pridané dve aktualizácie v časti Riešenie.