CodeAccessPermission.Assert Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.