WPProperty'ye bağımlı Web Bölümleri SharePoint Server'da (KB5003528) düzgün çalışmayabilir

Uygulandığı Öğe
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Belirtiler

WPProperty'ye bağımlı olan Web Bölümü artık düzgün çalışmayabilir ve SharePoint Birleşik Günlük Sistemi (ULS) günlüklerinde a7wm1 olay etiketleri oluşturur.

Neden

Bu sorunun nedeni SharePoint Server'ın artık grupların web.config dosyada WPProperty'ye erişmesine izin verilen .NET türlerini bildirmesini zorunlu tutmasıdır. Listelenmeyen .NET türleri, güvenlik önlemi olarak WPProperty'ye erişemez.

Çözüm

Bu sorunu çözmek için aşağıdaki güncelleştirmelerden birini yükleyin:

Web Bölümü'nün beklendiği gibi çalışmasını sağlamak için, etkilenen .NET türlerinin web.config dosyada WPProperty'ye erişmesine izin verildiğini bildirmek üzere aşağıdaki adımları izleyin.

Önemli

.NET türlerinin WPProperty'ye yalnızca güvenli olduğunu onayladıktan sonra erişmesine izin verin.

  1. SharePoint sunucu grubunuzdaki her sunucuda, web uygulamanızın web.config dosyasını açın.

  2. Yapılandırma/SharePoint/SafeMode bölümünü bulun.

  3. Henüz yoksa bir AllowedWPProperties bölümü ekleyin.

  4. WPProperty'ye erişmesine izin verilmesi gereken türü temsil etmek için type ve propertyName özniteliklerine sahip yeni bir AllowedWPProperty öğesi ekleyin.

    <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. Değişikliği web.config dosyasına kaydedin.

type ve propertyName öznitelikleri için doğru değerleri tanımlamak üzere a7wm1 olay etiketi için ULS günlüğünü sorgulayın ve günlük girişini not edin. Örneğin:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Bu türün WPProperty'ye erişmesine izin vermek için, AllowedWPPProperty türü özniteliğini engellenen AssemblyQualifiedName değerine ayarlayın ve propertyName özniteliğini engellenen özellik adı değerine ayarlayın.

Değişiklik geçmişi

Aşağıdaki tabloda, bu konuyla ilgili en önemli değişikliklerden bazıları özetlenmiştir.

Tarih Açıklama
14 Eylül 2021 "Çözüm" bölümüne iki güncelleme eklendi.