Gejala
Setelah menginstal salah satu pembaruan berikut, beberapa halaman berangin di Microsoft SharePoint tidak dirender:
-
21 September 2020, pembaruan untuk SharePoint Server 2019 (KB4461512)
-
SharePoint Enterprise Server 2016: 8 September 2020 (KB 4484506)
-
Deskripsi pembaruan keamanan untuk SharePoint Foundation 2013: 8 September 2020 (KB 4484525)
-
Deskripsi pembaruan keamanan untuk SharePoint Foundation 2010: 8 September 2020 (KB 4486667)
Misalnya, halaman portal Microsoft Identity Manager (MIM) dan beberapa halaman yang dikustomisasi yang digunakan melalui Solusi SharePoint tidak disajikan.
Selain itu, Anda mungkin mengalami satu atau beberapa skenario berikut ini.
Skenario 1
Halaman berangka yang diblokir menampilkan salah satu pesan kesalahan berikut:
-
Atribut 'autoeventwireup' tidak diizinkan di halaman ini.
-
Atribut 'enablesessionstate' tidak diperbolehkan di halaman ini.
-
Blok kode tidak diperbolehkan dalam file ini.
-
Penanganan kejadian 'OnSelectedIndexChanged' tidak diperbolehkan di halaman ini.
Catatan Kejadian dalam pesan kesalahan terakhir juga dapat terjadi pada beberapa kejadian lain, seperti "OnClick."
Skenario 2
Halaman dengan bayangan yang diblokir menampilkan pesan kesalahan berikut:
UnsafeControlException: Kontrol Komponen Web atau Formulir Web di Halaman ini tidak bisa ditampilkan atau diimpor. Tipe tersebut tidak dapat ditemukan atau tidak terdaftar sebagai aman.
Skenario 3
Halaman dengan bayangan yang diblokir menampilkan pesan kesalahan berikut:
File yang direferensikan '/_layouts/somedirectory/affectedusercontrol.ascx' tidak diperbolehkan di halaman ini.
Penyebab
Halaman berangka disimpan di sistem file. Tingkat keamanannya disempurnakan dengan melarang skrip pihak server dan kontrol yang tidak aman. Halaman berangka mungkin diblokir dari penyajian jika kondisi berikut ini benar:
-
Halaman berangin berisi kode baris atau skrip pihak server.
-
Tipe kode di belakang atau tipe komponen web tidak terdaftar sebagai aman.
Resolusi untuk Skenario 1
Untuk mengatasi masalah ini, tambahkan elemen PageParserPath baru yang memiliki atribut VirtualPath ke file Web.config di bawah elemen configuration/SharePoint/SafeMode/PageParserPaths.
Misalnya, Anda menerima pesan kesalahan berikut:
"Atribut 'autoeventwireup' tidak diizinkan di halaman ini."
Dalam kasus ini, Anda bisa menambahkan elemen PageParserPath, sebagai berikut:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true"/>
</PageParserPaths>
</SafeMode>
Jika semua halaman di direktori virtual yang sama harus dibuka blokirnya, Anda bisa menggunakan elemen PageParserPath, sebagai berikut:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
</PageParserPaths>
</SafeMode>
-
VirtualPath adalah jalur halaman yang diblokir.
-
VirtualPath harus merujuk ke halaman yang menjadi bayangan dan tidak dapat dihosting oleh pengguna mana pun, atau direktori yang berisi halaman tersebut.
-
VirtualPath harus merujuk ke halaman yang tidak mereferensikan halaman lain atau halaman master yang dapat dihosting, atau direktori yang tidak berisi halaman atau halaman master tersebut.
-
DirectFileDependencies menunjukkan jumlah dependensi file langsung yang diperbolehkan. Jika Anda menerima pesan kesalahan seperti "jumlah dependensi file langsung yang diperbolehkan melebihi batas," ubah nilai ini.
Resolusi untuk Skenario 2
Untuk mengatasi masalah ini, tambahkan elemen SafeControls baru untuk tipe, ruang nama tertentu, dan perakitan nama kuat ke file Web.config di bawah elemen konfigurasi/SharePoint/SafeControls, seperti yang diuraikan dalam elemen SafeControls (Solution). Lalu, atur atribut Aman ke TRUE.
Untuk informasi selengkapnya tentang format nilai atribut dalam elemen SafeControls, lihat tabel di langkah 12 di bagian "Menandai Kontrol Aman di Package Designer" dari Cara:Menandai kontrol sebagai kontrol aman .
Resolusi untuk Skenario 3
Untuk mengatasi masalah ini, tambahkan elemen SafeControls baru yang menggunakan atribut Src ke file Web.config di bawah elemen konfigurasi/SharePoint/SafeControls.
Misalnya, Anda menerima pesan kesalahan berikut:
"File yang direferensikan '/_layouts/somedirectory/affectedusercontrol.ascx' tidak diperbolehkan di halaman ini."
Dalam kasus ini, Anda bisa menambahkan elemen SafeControls, seperti dalam contoh berikut ini:
< SafeControls>
<SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>
< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>