Sdílet prostřednictvím


IStackWalk.Assert Metoda

Definice

Potvrzuje, že volající kód má přístup k prostředku identifikovanému aktuálním objektem oprávnění, i když volajícím výše v zásobníku nebylo uděleno oprávnění pro přístup k prostředku.

public:
 void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()

Výjimky

Volající kód nemá Assertion.

Poznámky

Volání Assert zastaví kontrolu oprávnění u volajících výše v zásobníku volání. Proto i když tito volající nemají požadovaná oprávnění, stále mají přístup k prostředkům. Kontrolní výraz je účinný pouze v případě, že kód, který volá Assert , projde kontrolou zabezpečení pro oprávnění, které uplatňuje.

Volání je účinné, Assert dokud volající kód nevrátí do volajícího nebo do následného volání, aby předchozí Assert kontrolní výraz neúčinný. RevertAssert Také nebo RevertAll odebere čekající Assert.

Assert se ignoruje, pokud není oprávnění uděleno, protože požadavek na toto oprávnění nebude úspěšný. Pokud však kód nižší v zásobníku volání volá Demand pro toto oprávnění, SecurityException vyvolá se při procházení zásobníku dosáhne kódu, který se pokusil volat Assert. K tomu dochází, protože volaný Assert kód nemá udělené oprávnění, i když se o Assert to pokusil.

Upozornění

Vzhledem k tomu, že volání Assert odebere požadavek, aby veškerý kód v řetězci volání měl udělené oprávnění pro přístup k zadanému prostředku, může v případě nesprávného nebo nevhodného použití otevřít ohrožení zabezpečení. Proto by měl být používán s velkou opatrností.

Platí pro

Viz také