Share via


CodeAccessPermission.Deny Metode

Definisi

Perhatian

API ini sudah tidak digunakan lagi.

Perhatian

Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Mencegah penelepon yang lebih tinggi dalam tumpukan panggilan menggunakan kode yang memanggil metode ini untuk mengakses sumber daya yang ditentukan oleh instans saat ini.

public:
 virtual void Deny();
[System.Obsolete]
public void Deny ();
public void Deny ();
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public void Deny ();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()

Penerapan

Atribut

Pengecualian

Sudah ada yang aktif Deny() untuk bingkai saat ini.

Keterangan

Penting

Metode Deny ini harus digunakan hanya untuk melindungi sumber daya dari akses yang tidak disengaja dengan kode yang sepenuhnya tepercaya. Ini tidak boleh digunakan untuk melindungi sumber daya dari penyalahgunaan yang disengaja oleh kode yang tidak tepercaya. Misalnya, jika metode A mengeluarkan Deny untuk izin dan kemudian memanggil metode B, metode B dapat mengesampingkan DenyAssertsecara berlebihan dengan mengeluarkan . Metode yang dipanggil selalu lebih tinggi dalam tumpukan. Oleh karena itu, jika metode B mencoba mengakses sumber daya yang dilindungi, sistem keamanan mulai memeriksa izin dengannya karena metode B adalah pemanggil langsung, dan kemudian berjalan menumpuk untuk mengonfirmasi bahwa tidak Deny ada atau PermitOnly lebih rendah dalam tumpukan. Metode B, yang mencoba mengakses sumber daya, dapat segera menghentikan tumpukan berjalan dengan menggunakan Assert metode . Dalam hal ini, yang Deny ditempatkan pada tumpukan menurut metode A (metode pemanggilan) tidak pernah ditemukan.

Metode ini mencegah penelepon yang lebih tinggi dalam tumpukan panggilan mengakses sumber daya yang dilindungi melalui kode yang memanggil metode ini, bahkan jika penelepon tersebut telah diberikan izin untuk mengaksesnya. Tumpukan panggilan biasanya direpresentasikan sebagai tumbuh ke bawah, sehingga metode yang lebih tinggi dalam metode panggilan tumpukan panggilan lebih rendah di tumpukan panggilan.

Deny dapat membatasi tanggung jawab programmer atau membantu mencegah masalah keamanan yang tidak disengaja karena membantu mencegah metode yang memanggil Deny agar tidak digunakan untuk mengakses sumber daya yang dilindungi oleh izin yang ditolak. Jika metode memanggil Deny izin, dan jika Demand untuk izin tersebut dipanggil oleh penelepon yang lebih rendah di tumpukan panggilan, pemeriksaan keamanan tersebut akan gagal ketika mencapai Deny.

Panggilan ke Deny efektif sampai kode panggilan kembali ke pemanggilnya. Hanya satu Deny yang dapat aktif pada bingkai. Upaya untuk memanggil Deny ketika ada aktif Deny pada bingkai menghasilkan SecurityException. Panggil RevertDeny atau RevertAll untuk menghapus yang aktif Deny. Deny diabaikan untuk izin yang tidak diberikan karena permintaan izin tersebut tidak akan berhasil.

Catatan Bagi Inheritor

Anda tidak dapat mengambil alih metode ini.

Berlaku untuk