Dotyczy
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

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.

  1. Otwórz web.config aplikacji sieci Web na każdym serwerze w farmie SharePoint sieci Web.

  2. Znajdź sekcję konfiguracja/SharePoint/SafeMode.

  3. Dodaj sekcję AllowedWPProperties (Właściwości Dozwolonych), jeśli jeszcze nie istnieje.

  4. 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>

  5. 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".

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.