CodeAccessPermission.Assert Méthode

Définition

Déclare que le code appelant peut accéder à la ressource protégée par une demande d’autorisation via le code qui appelle cette méthode, même si les appelants plus haut dans la pile n’ont pas été autorisés à accéder à la ressource. L’utilisation Assert() peut créer des problèmes de sécurité.

public:
 virtual void Assert();
public void Assert();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()

Implémente

Exceptions

Le code appelant n’a Assertionpas .

-ou-

Il existe déjà une image active Assert() pour l’image actuelle.

Remarques

La pile des appels est généralement représentée comme étant en baisse, afin que les méthodes plus élevées dans les méthodes d’appel de la pile des appels soient inférieures dans la pile des appels. L’appel Assert empêche une procédure de pile d’origine inférieure dans la pile des appels de poursuivre la pile des appels au-delà du code qui appelle cette méthode. Par conséquent, même si les appelants plus haut sur la pile des appels n’ont pas les autorisations requises pour accéder à une ressource, ils peuvent toujours y accéder via le code qui appelle cette méthode sur l’autorisation nécessaire. Une assertion est effective uniquement si le code qui appelle Assert passe la vérification de sécurité pour l’autorisation qu’il affirme.

L’appel à est effectif jusqu’à Assert ce que le code appelant retourne à son appelant. Assert Un seul peut être actif sur un cadre. Une tentative d’appel Assert lorsqu’un actif Assert existe sur le frame entraîne un SecurityException. Appelez ou supprimez RevertAssert un élément actif Assert.RevertAll

Assert est ignoré pour une autorisation non accordée, car une demande pour cette autorisation ne réussira pas. Toutefois, si le code inférieur sur la pile des appels appelle Demand cette autorisation, un SecurityException est levée lorsque la procédure de pile atteint le code qui a essayé d’appeler Assert. Cela se produit parce que le code appelé Assert n’a pas reçu l’autorisation, même s’il a essayé de le faire Assert .

Avertissement

Étant donné que l’appel Assert supprime l’exigence que tout le code de la chaîne d’appels doit être autorisé à accéder à la ressource spécifiée, il peut ouvrir des problèmes de sécurité s’il est utilisé de manière incorrecte ou inappropriée. Par conséquent, il doit être utilisé avec une grande prudence.

Notes pour les héritiers

Vous ne pouvez pas remplacer cette méthode.

S’applique à

Voir aussi