อาการ
Web Part ที่ขึ้นกับWPPropertyอาจไม่สามารถใช้งานได้อย่างถูกต้องอีกต่อไป และสร้างแท็กเหตุการณ์a7wm1ในSharePoint Unified Logging System (ULS)
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากSharePointในตอนนี้ต้องใช้ฟาร์มเพื่อประกาศชนิด .NET ที่ได้รับอนุญาตให้เข้าถึงWPProperty web.configในไฟล์ ชนิด .NET ที่ไม่อยู่ในรายการจะไม่มีสิทธิ์เข้าถึง WPProperty เป็นมาตรการป้องกันความปลอดภัย
การแก้ไข
เมื่อต้องการแก้ไขปัญหานี้ ให้ติดตั้งหนึ่งในการอัปเดตต่อไปนี้:
-
รายละเอียดเกี่ยวกับโปรแกรมปรับปรุงความปลอดภัยSharePoint Server 2019: 14 กันยายน 2021 (KB5002018)
-
รายละเอียดเกี่ยวกับโปรแกรมปรับปรุงความปลอดภัยSharePoint Foundation 2013: 14 กันยายน 2021 (KB5002024)
เมื่อต้องการให้ Web Part ใช้งานตามที่คาดไว้ ให้ปฏิบัติตามขั้นตอนต่อไปนี้เพื่อประกาศชนิด .NET ที่ได้รับผลกระทบตามที่อนุญาตให้เข้าถึง WPProperty ในweb.configภายนอก
สิ่งสำคัญ: อนุญาตเฉพาะชนิด .NET ในการเข้าถึง WPProperty หลังจากที่คุณยืนยันว่าสามารถเข้าใช้งานได้อย่างปลอดภัย
-
เปิดไฟล์web.configของโปรแกรมประยุกต์บนเว็บของคุณในแต่ละเซิร์ฟเวอร์ในSharePointของคุณ
-
ค้นหาส่วนการกําหนดค่า/SharePoint/SafeMods
-
เพิ่ม ส่วน AllowedWPProperties หากไม่มีอยู่แล้ว
-
เพิ่มองค์ประกอบAllowedWPPropertyใหม่ที่มีแอตทริบิวต์ type และpropertyNameเพื่อแสดงชนิดที่ควรได้รับอนุญาตให้เข้าถึง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> -
บันทึกการเปลี่ยนแปลงไปยังweb.configที่คุณต้องการ
เมื่อต้องการระบุค่าที่ถูกต้องของแอตทริบิวต์type และ propertyNameให้คิวรีบันทึก ULS ของแท็กเหตุการณ์ a7wm1และจดรายการบันทึก ตัวอย่างเช่น:
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
เมื่อต้องการอนุญาตให้เข้าถึงWPPropertyให้ตั้งค่าแอตทริบิวต์ ชนิด AllowedWPPProperty เป็นค่าของ AssemblyQualifiedName ที่ถูกบล็อก และตั้งค่าแอตทริบิวต์propertyNameเป็นค่าชื่อคุณสมบัติที่ถูกบล็อก
เปลี่ยนประวัติ
ตารางต่อไปนี้จะสรุปการเปลี่ยนแปลงที่สําคัญที่สุดบางส่วนลงในหัวข้อนี้
วันที่ |
คำอธิบาย |
---|---|
14 กันยายน 2021 |
เพิ่มการอัปเดตสองรายการในส่วน "การแก้ไขปัญหา" |