Bagikan melalui


IStackWalk.Assert Metode

Definisi

Menegaskan bahwa kode panggilan dapat mengakses sumber daya yang diidentifikasi oleh objek izin saat ini, bahkan jika penelepon yang lebih tinggi di tumpukan belum diberi izin untuk mengakses sumber daya.

public:
 void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()

Pengecualian

Kode panggilan tidak memiliki Assertion.

Keterangan

Assert Panggilan menghentikan pemeriksaan izin pada penelepon yang lebih tinggi di tumpukan panggilan. Oleh karena itu, bahkan jika penelepon ini tidak memiliki izin yang diperlukan, mereka masih dapat mengakses sumber daya. Pernyataan hanya berlaku jika kode yang memanggil Assert melewati pemeriksaan keamanan untuk izin yang dinyatakan.

Panggilan ke Assert efektif sampai kode panggilan kembali ke pemanggilnya atau sampai panggilan berikutnya untuk Assert membuat pernyataan sebelumnya tidak efektif. Selain itu, RevertAssert atau RevertAll menghapus yang tertunda Assert.

Assert diabaikan untuk izin yang tidak diberikan karena permintaan izin tersebut tidak akan berhasil. Namun, jika kode yang lebih rendah pada tumpukan panggilan memanggil Demand izin tersebut, dilemparkan SecurityException ketika stack walk mencapai kode yang mencoba memanggil Assert. Ini terjadi karena kode yang disebut Assert belum diberikan izin, meskipun mencobanya Assert .

Perhatian

Karena panggilan Assert menghapus persyaratan bahwa semua kode dalam rantai panggilan harus diberikan izin untuk mengakses sumber daya yang ditentukan, itu dapat membuka kerentanan keamanan jika digunakan dengan tidak benar atau tidak tepat. Oleh karena itu, itu harus digunakan dengan sangat hati-hati.

Berlaku untuk

Lihat juga