Веб-частини, які залежать від WPProperty, можуть більше не працювати належним чином на сервері SharePoint Server (KB5003528)

Застосовується до
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Ознаки

Веб-частина, яка залежить від WPProperty , може більше не працювати належним чином і створювати теги подій a7wm1 у журналах системи уніфікованого журналювання (ULS) SharePoint.

Причина

Ця проблема виникає через те, що тепер ферми повинні визначати у файлі web.config типи .NET, яким дозволено доступ до WPProperty . Типи .NET, яких немає в списку, не матимуть доступу до WPProperty з міркувань безпеки.

Спосіб усунення проблеми

Щоб вирішити цю проблему, інсталюйте одне з наведених нижче оновлень.

Для належної роботи веб-частини, виконайте наведені нижче дії, щоб оголосити відповідні типи .NET як такі, що мають дозвіл на доступ до WPProperty у файлі web.config.

Важливо

Дозволяйте доступ до WPProperty лише тим типам .NET, які є безпечними.

  1. Відкрийте файл web.config веб-програми на кожному сервері ферми SharePoint.

  2. Знайдіть розділ "Конфігурація", "SharePoint/SafeMode ".

  3. Додайте розділ AllowedWPProperties (Дозволено WPP), якщо його ще не існує.

  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 type на значення blocked AssemblyQualifiedName, а атрибут propertyName – на значення імені заблокованого ресурсу.

Журнал змін

У наведеній нижче таблиці підсумовано деякі найважливіші зміни в цій статті.

Дата Опис
Вересень 14, 2021 р. Додано два оновлення в розділі "Роздільна здатність".