Partager via


CodeAccessPermission.Deny Méthode

Définition

Attention

Cette API est à présent déconseillée.

Attention

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.

Empêche les appelants plus hauts dans la pile des appels d’utiliser le code qui appelle cette méthode pour accéder à la ressource spécifiée par l’instance actuelle.

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 ()

Implémente

Attributs

Exceptions

Il existe déjà un Deny() actif pour l’image actuelle.

Remarques

Important

La Deny méthode doit être utilisée uniquement pour protéger les ressources contre tout accès accidentel par du code entièrement fiable. Il ne doit pas être utilisé pour protéger les ressources contre toute utilisation intentionnelle par du code non approuvé. Par exemple, si la méthode A émet un Deny pour une autorisation, puis appelle la méthode B, la méthode B peut remplacer ouvertement le Deny en émettant un Assert. La méthode appelée est toujours plus élevée dans la pile. Par conséquent, si la méthode B tente d’accéder à une ressource protégée, le système de sécurité commence à rechercher des autorisations avec elle, car la méthode B est l’appelant immédiat, puis descend dans la pile pour confirmer qu’il n’y a pas Deny ou PermitOnly moins d’autorisations dans la pile. La méthode B, qui tente d’accéder à la ressource, peut arrêter immédiatement la marche de la pile à l’aide de la Assert méthode . Dans ce cas, le Deny placé sur la pile par la méthode A (méthode appelante) n’est jamais découvert.

Cette méthode empêche les appelants plus haut dans la pile des appels d’accéder à la ressource protégée par le biais du code qui appelle cette méthode, même si ces appelants ont reçu l’autorisation d’y accéder. La pile des appels est généralement représentée comme augmentant vers le bas, de sorte que les méthodes plus élevées dans la pile d’appels d’appels sont inférieures dans la pile des appels.

Deny peut limiter la responsabilité du programmeur ou empêcher les problèmes de sécurité accidentels, car cela permet d’empêcher l’utilisation de la méthode qui appelle Deny pour accéder à la ressource protégée par l’autorisation refusée. Si une méthode appelle Deny sur une autorisation, et si un Demand pour cette autorisation est appelé par un appelant inférieur dans la pile des appels, cette case activée de sécurité échoue lorsqu’elle atteint le Deny.

L’appel à Deny est effectif jusqu’à ce que le code appelant retourne à son appelant. Deny Un seul peut être actif sur un frame. Une tentative d’appel Deny lorsqu’un actif Deny existe sur le frame entraîne un SecurityException. Appelez RevertDeny ou RevertAll pour supprimer un actif Deny. Deny est ignoré pour une autorisation non accordée, car une demande de cette autorisation échoue.

Notes pour les héritiers

Vous ne pouvez pas remplacer cette méthode.

S’applique à