Уеб части, които зависят от WPProperty, може да не работят правилно в SharePoint Server (KB5003528)

Отнася се за
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Симптоми

Уеб част, която зависи от WPProperty , може да спре да работи правилно и генерира етикети на събитие a7wm1 в регистрационните файлове на SharePoint Unified Logging System (ULS).

Причина

Този проблем възниква, защото сега SharePoint Server изисква сървърните групи да декларират типовете .NET, на които е разрешен достъп до WPProperty във файла web.config. Типовете .NET, които не са в списъка, няма да имат достъп до WPProperty като предпазна мярка за защита.

Решение

За да разрешите този проблем, инсталирайте една от следните актуализации:

За да накарате уеб частта да работи според очакванията, изпълнете следните стъпки, за да декларирате засегнатите типове .NET като разрешени за достъп до WPProperty във файла web.config.

Важно

Разрешавайте на типове .NET да осъществяват достъп до WPProperty само след като сте се уверили, че това е безопасно.

  1. Отворете web.config файла на своето уеб приложение на всеки сървър във вашата сървърна група на SharePoint.

  2. Намерете секцията за конфигурация/SharePoint/SafeMode .

  3. Добавете секция AllowedWPProperties , ако все още не съществува.

  4. Добавете нов елемент AllowedWPProperty с атрибути type и propertyName , за да представите типа, на който трябва да бъде разрешен достъп до 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. Запишете промяната в web.config файл.

За да идентифицирате правилните стойности за атрибутите type и propertyName , направете заявка в регистрационния файл ULS за етикета на събитието a7wm1 и обърнете внимание на записа в регистрационния файл. Например:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
За да позволите на този тип достъп до WPProperty, задайте атрибута тип AllowedWPPProperty на стойността на блокираното AssemblyQualifiedName и задайте атрибута propertyName на стойността на името на блокираното свойство.

Хронология на промените

Следващата таблица обобщава някои от най-важните промени в тази тема.

Дата Описание
Септември 14, 2021 г. Добавихме две актуализации в раздела "Разделителна способност".