Проблема
Веб-часть, которая зависит от WPProperty , может работать неправильно и создает теги событий a7wm1 в журналах единой системы ведения журнала SharePoint (ULS).
Причина
Эта проблема возникает из-за того, что SharePoint Server теперь требует, чтобы фермы объявляли типы .NET, которым разрешен доступ к WPProperty в файле web.config. Типы .NET, которые не перечислены, не будут иметь доступ к WPProperty в качестве меры безопасности.
Решение
Чтобы устранить эту проблему, установите одно из следующих обновлений:
- Описание обновления для системы безопасности для SharePoint Server 2019: 14 сентября 2021 г. (KB5002018)
- Описание обновления для системы безопасности для SharePoint Enterprise Server 2016: 8 июня 2021 г. (KB5001946)
- Описание обновления для системы безопасности для SharePoint Foundation 2013: 14 сентября 2021 г. (KB5002024)
Чтобы веб-часть работала должным образом, сделайте следующее, чтобы объявить затронутые типы .NET как разрешенные для доступа к WPProperty в файле web.config.
Важно
Разрешите типы .NET доступ к WPProperty только после подтверждения того, что это безопасно.
Откройте файл web.config веб-приложения на каждом сервере фермы SharePoint.
Найдите раздел configuration/SharePoint/SafeMode .
Добавьте раздел AllowedWPProperties , если он еще не существует.
Добавьте новый элемент 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>Сохраните изменения в файле 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 значение заблокированного AssemblyQualifiedName, а для атрибута propertyName — значение имени заблокированного свойства.
Журнал изменений
В следующей таблице перечислены некоторые наиболее важные изменения в этом разделе.
| Дата | Описание |
|---|---|
| 14 сентября 2021 г. | Добавлены два обновления в разделе "Разрешение". |