Aracılığıyla paylaş


CodeAccessPermission.Deny Yöntem

Tanım

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.

Şunlara uygulanır