CodeAccessPermission.Assert Methode

Definitie

Declareert dat de aanroepende code toegang heeft tot de resource die wordt beveiligd door een machtigingsvraag via de code die deze methode aanroept, zelfs als bellers die hoger in de stack zijn, niet zijn gemachtigd om toegang te krijgen tot de resource. Met behulp van Assert() dit hulpprogramma kunt u beveiligingsproblemen maken.

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

Implementeringen

Uitzonderingen

De aanroepende code heeft Assertiongeen .

– of –

Er is al een actieve Assert() versie voor het huidige frame.

Opmerkingen

De aanroepstack wordt doorgaans weergegeven als uitgroeien, zodat methoden die hoger zijn in de aanroepstack, lager zijn in de aanroepstack. Het aanroepen Assert voorkomt dat een stack-wandeling die lager in de aanroepstack afkomstig is, verder gaat dan de code die deze methode aanroept. Zelfs als bellers hoger op de aanroepstack niet over de vereiste machtigingen beschikken om toegang te krijgen tot een resource, hebben ze er nog steeds toegang toe via de code die deze methode aanroept voor de benodigde machtiging. Een assertie is alleen van kracht als de code die de beveiligingscontrole aanroept, doorstaat voor de machtiging die deze aanroept Assert .

De aanroep is Assert van kracht totdat de aanroepcode terugkeert naar de aanroeper. Slechts één Assert kan actief zijn op een frame. Een poging om aan te roepen Assert wanneer er een actief Assert in het frame bestaat, resulteert in een SecurityException. Een actieve Assertaanroep RevertAssert of RevertAll verwijderen.

Assert wordt genegeerd voor een machtiging die niet is verleend, omdat een aanvraag voor die machtiging niet slaagt. Als code echter lager op de aanroepstack die machtiging aanroept Demand , wordt er een SecurityException gegenereerd wanneer de stack de code bereikt die is geprobeerd aan te roepen Assert. Dit gebeurt omdat de code die de aangeroepen code niet heeft gekregen Assert , ook al heeft deze ernaar geprobeerd Assert .

Caution

Omdat aanroepen Assert de vereiste verwijdert dat aan alle code in de aanroepketen machtigingen moeten worden verleend voor toegang tot de opgegeven resource, kunnen beveiligingsproblemen worden geopend als deze onjuist of ongepast worden gebruikt. Daarom moet het met grote voorzichtigheid worden gebruikt.

Notities voor overnemers

U kunt deze methode niet overschrijven.

Van toepassing op

Zie ook