Objawy
Składnik Web Part zależny od WPProperty może już nie działać poprawnie i generować tagi zdarzeń a7wm1 w dziennikach systemu zunifikowanego rejestrowania programu SharePoint (ULS).
Przyczyna
Ten problem występuje, ponieważ program SharePoint Server wymaga teraz od farm zadeklarowania typów platformy .NET, które są dozwolone do uzyskiwania dostępu do WPProperty w pliku web.config. Typy .NET, które nie są wymienione, nie będą miały dostępu do WPProperty jako środka ostrożności.
Rozwiązanie
Aby rozwiązać ten problem, zainstaluj jedną z następujących aktualizacji:
- Opis aktualizacji zabezpieczeń dla SharePoint Server 2019: 14 września 2021 r. (KB5002018)
- Opis aktualizacji zabezpieczeń dla programu SharePoint Enterprise Server 2016: 8 czerwca 2021 r. (KB5001946)
- Opis aktualizacji zabezpieczeń dla programu SharePoint Foundation 2013: 14 września 2021 r. (KB5002024)
Aby składnik Web Part działał zgodnie z oczekiwaniami, wykonaj następujące kroki w celu zadeklarowania typów platformy .NET, których dotyczy problem, jako uprawnionych do uzyskiwania dostępu do WPProperty w pliku web.config.
Ważne
Zezwalaj typom .NET na dostęp do WPProperty tylko po potwierdzeniu, że jest to bezpieczne.
Otwórz plik web.config aplikacji sieci Web na każdym serwerze w farmie programu SharePoint.
Znajdź sekcję konfiguracji/SharePoint/Tryb awaryjny .
Dodaj sekcję AllowedWPProperties , jeśli jeszcze nie istnieje.
Dodaj nowy element AllowedWPProperty z atrybutami type i propertyName reprezentujący typ, który powinien mieć możliwość uzyskiwania dostępu 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>Zapisz zmiany w pliku web.config.
Aby zidentyfikować prawidłowe wartości atrybutów type i propertyName , należy przeszukać dziennik systemu ULS pod kątem tagu zdarzenia a7wm1 i zanotować wpis dziennika. Na przykład:
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
Aby zezwolić temu typowi na dostęp do WPProperty, ustaw atrybut AllowedWPPProperty type na zablokowaną wartość AssemblyQualifiedName i ustaw atrybut propertyName na wartość nazwy zablokowanej właściwości.
Historia zmian
W poniższej tabeli podsumowano niektóre z najważniejszych zmian w tym temacie.
| Data | Opis |
|---|---|
| 14 września 2021 r. | Dodano dwie aktualizacje w sekcji "Rozwiązanie". |