Symptomy
Część Web Part zależna od właściwości WP Może już nie działać poprawnie i generuje tagi zdarzeń a7wm1 w dziennikach systemu SharePoint Unified Logging System (ULS).
Przyczyna
Ten problem występuje, ponieważ program SharePoint Server wymaga teraz farm do deklarowania typów .NET, które mają dostęp do właściwości WPProperty w web.config pliku. Nie wymienione typy .NET nie mają dostępu do właściwości WPProperty ze względów bezpieczeństwa.
Rozwiązanie
Aby rozwiązać ten problem, zainstaluj jedną z następujących aktualizacji:
Aby składników Web Part działał zgodnie z oczekiwaniami, należy wykonać następujące czynności w celu zadeklarowania typów .NET, których dotyczy problem, jako dozwolonych do uzyskiwania dostępu do właściwości WPProperty w web.config pliku.
Ważne: Zezwalaj typom .NET na dostęp do właściwości WPProperty dopiero po potwierdzeniu, że jest to bezpieczne.
-
Otwórz web.config aplikacji sieci Web na każdym serwerze w farmie SharePoint sieci Web.
-
Znajdź sekcję konfiguracja/SharePoint/SafeMode.
-
Dodaj sekcję AllowedWPProperties (Właściwości Dozwolonych), jeśli jeszcze nie istnieje.
-
Dodaj nowy element AllowedWPProperty z atrybutami type i propertyName, aby reprezentować typ, który powinien mieć dostęp do właściwości 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 zmianę w web.config pliku.
Aby określić prawidłowe wartości dla atrybutów typu i właściwościName, należy w dzienniku systemu ULS wpisać tag 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 umożliwić temu typowi dostęp do właściwości WPProperty,ustaw atrybut AllowedWPPProperty typu na wartość zablokowanego atrybutu AssemblyQualifiedName i ustaw atrybut propertyName na wartość zablokowanej nazwy 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". |