套用到SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

徵兆

依存於 WPProperty 的 Web 組件可能無法正常運作,並在 SharePoint 統一登入系統 (ULS) 記錄中產生 a7wm1 事件標記。

原因

發生此問題的原因是 SharePoint Server 現在要求伺服器陣列宣告允許在 web.config 檔案中存取 WPProperty 的 .NET 類型。 作為安全性防範措施,未列出的 .NET 類型無法存取 WPProperty

解決方案

若要解決這個問題,請安裝下列更新之一:

若要使 Web 組件按預期正常運作,請執行下列步驟,宣告允許受影響的 .NET 類型存取 web.config 檔案中的 WPProperty

重要: 只有在確認 NET 類型安全之後,才可允許其存取 WPProperty

  1. 在 SharePoint 伺服器陣列中的各個伺服器中,打開您網頁應用程式的 web.config 檔案。

  2. 尋找 configuration/SharePoint/SafeMode 區段。

  3. 如果不存在 AllowedWPProperties 區段,請新增該區段。

  4. 新增具有 type propertyName 屬性的新 AllowedWPProperty 元素,以代表應允許存取 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. 將此變更儲存到 web.config 檔案。

若要識別 type propertyName 屬性的正確數值,請查詢 a7wm1 事件標記的 ULS 記錄,並記下記錄項目。 例如:  "WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",   若要允許此類型可存取 WPProperty,請將 AllowedWPPProperty 的 type 屬性設定為封鎖的 AssemblyQualifiedName 值,然後將 propertyName 屬性設定為封鎖的屬性名稱值。

變更歷程記錄

 下表摘要說明本主題的一些最重要變更。

日期

描述

2021 年 9 月 14 日

在「方案」部分新增了兩個更新。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。