Komponen Web yang bergantung pada WPProperty mungkin tidak lagi berfungsi dengan benar di SharePoint Server (KB5003528)

Berlaku Untuk
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Gejala

Komponen Web yang bergantung pada WPProperty mungkin tidak lagi berfungsi dengan benar dan menghasilkan tag kejadian a7wm1 dalam log SharePoint Unified Logging System (ULS).

Penyebab

Masalah ini terjadi karena SharePoint Server kini memerlukan farm untuk mendeklarasikan tipe .NET yang diizinkan untuk mengakses WPProperty dalam file web.config. Tipe .NET yang tidak tercantum tidak akan memiliki akses ke WPProperty sebagai tindakan pencegahan keamanan.

Resolusi

Untuk mengatasi masalah ini, instal salah satu pembaruan berikut ini:

Untuk membuat Komponen Web berfungsi seperti yang diharapkan, lakukan langkah-langkah berikut ini untuk mendeklarasikan tipe .NET yang terpengaruh sebagaimana diizinkan untuk mengakses WPProperty dalam file web.config.

Penting

Hanya izinkan tipe .NET untuk mengakses WPProperty setelah Anda mengonfirmasi bahwa aman untuk melakukannya.

  1. Buka file web.config aplikasi web Anda di setiap server di farm SharePoint Anda.

  2. Temukan bagian konfigurasi/SharePoint/SafeMode .

  3. Tambahkan bagian AllowedWPProperties jika belum ada.

  4. Tambahkan elemen AllowedWPProperty baru dengan atribut type dan propertyName untuk mewakili tipe yang seharusnya diizinkan untuk mengakses 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. Simpan perubahan ke file web.config.

Untuk mengidentifikasi nilai yang benar untuk atribut type dan propertyName , kueri log ULS untuk tag kejadian a7wm1 dan catat entri log. Misalnya:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Untuk mengizinkan tipe ini mengakses WPProperty, atur atribut tipe AllowedWPPProperty ke nilai AssemblyQualifiedName yang diblokir dan atur atribut propertyName ke nilai nama properti yang diblokir.

Riwayat perubahan

Tabel berikut ini merangkum beberapa perubahan terpenting pada topik ini.

Tanggal Deskripsi
14 September 2021 Menambahkan dua pembaruan di bagian "Resolusi".