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:
- SharePoint Server 2019 güvenlik güncelleştirmesinin açıklaması: 14 Eylül 2021 (KB5002018)
- SharePoint Enterprise Server 2016 güvenlik güncelleştirmesinin açıklaması: 8 Haziran 2021 (KB5001946)
- SharePoint Foundation 2013 güvenlik güncelleştirmesinin açıklaması: 14 Eylül 2021 (KB5002024)
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.
SharePoint sunucu grubunuzdaki her sunucuda, web uygulamanızın web.config dosyasını açın.
Yapılandırma/SharePoint/SafeMode bölümünü bulun.
Henüz yoksa bir AllowedWPProperties bölümü ekleyin.
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>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. |