CodeAccessPermission.Deny Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dikkat
Bu API artık kullanım dışıdır.
Dikkat
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.
Çağrı yığınındaki daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynağa erişmek için bu yöntemi çağıran kodu kullanmasını engeller.
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 ()
Uygulamalar
- Öznitelikler
Özel durumlar
Geçerli çerçeve için zaten etkin Deny() bir çerçeve var.
Açıklamalar
Önemli
Deny yöntemi yalnızca kaynakları tam olarak güvenilen kodla yanlışlıkla erişime karşı korumak için kullanılmalıdır. Kaynakları güvenilmeyen kod tarafından kasıtlı olarak kötüye kullanıma karşı korumak için kullanılmamalıdır. Örneğin, yöntem A
bir izin için bir Deny verirse ve sonra yöntemini B
çağırırsa, yöntemi bir Assertvererek öğesini B
geçersiz kılabilirDeny. Çağrılan yöntem yığında her zaman daha yüksektir. Bu nedenle, yöntem B
korumalı bir kaynağa erişmeye çalışırsa, yöntem hemen çağıran olduğundan B
güvenlik sistemi onunla izinleri denetlemeye başlar ve yığında hiç veya PermitOnly daha düşük olmadığını Deny onaylamak için yığında aşağı doğru ilerler. Kaynağa erişmeye çalışan yöntemi B
, yöntemini kullanarak Assert yığın adımını hemen durdurabilir. Bu durumda, Deny yönteme (çağırma yöntemi A
) göre yığına yerleştirilen hiçbir zaman bulunmaz.
Bu yöntem, çağıranlara erişim izni verilmiş olsa bile çağrı yığınındaki daha yüksek çağıranların bu yöntemi çağıran kod aracılığıyla korunan kaynağa erişmesini engeller. Çağrı yığını genellikle artan olarak temsil edilir, böylece çağrı yığınında daha yüksek yöntemler çağrı yığınında daha düşük çağrı yöntemleri çağırır.
Deny programcının sorumluluğunu sınırlayabilir veya yanlışlıkla karşılaşılan güvenlik sorunlarını önlemeye yardımcı olabilir çünkü bu, reddedilen izinle korunan kaynağa erişmek için çağrı Deny yapan yöntemin kullanılmasını önlemeye yardımcı olur. Bir yöntem bir izni çağırırsa Deny ve bu izin için a Demand çağrı yığınında daha düşük bir çağıran tarafından çağrılırsa, bu güvenlik denetimi öğesine ulaştığında Denybaşarısız olur.
çağrısı Deny , çağıran kod çağırana geri dönene kadar etkilidir. Çerçevede yalnızca bir tane Deny etkin olabilir. Çerçevede bir etkin Deny olduğunda çağrılmaya Deny çalışıldığında sonucu bir SecurityExceptionolur. Etkin RevertDenyDenybir öğesini çağırmak veya RevertAll kaldırmak için . Deny izin talebi başarılı olmadığından verilmeyen izinler için yoksayılır.
Devralanlara Notlar
Bu yöntemi geçersiz kılamazsınız.