CodeAccessPermission.Assert Metoda

Definice

Deklaruje, že volající kód má přístup k prostředku chráněnému požadavkem oprávnění prostřednictvím kódu, který tuto metodu volá, i když volajícím vyšší v zásobníku nebyla udělena oprávnění pro přístup k prostředku. Použití Assert() může vytvářet problémy se zabezpečením.

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

Implementuje

Výjimky

Volající kód nemá Assertion.

nebo

Pro aktuální rámec je již aktivní Assert() .

Poznámky

Zásobník volání je obvykle reprezentován jako rostoucí dolů, takže metody vyšší ve volání zásobníku volání nižší v zásobníku volání. Volání Assert brání tomu, aby zásobník chodily z nižší části zásobníku volání, aby bylo možné pokračovat v zásobníku volání nad rámec kódu, který tuto metodu volá. Proto i když volající na zásobníku volání nemají požadovaná oprávnění pro přístup k prostředku, můžou k němu stále přistupovat prostřednictvím kódu, který volá tuto metodu pro potřebná oprávnění. Kontrolní výraz je účinný pouze v případě, že kód, který volá Assert , předá kontrolu zabezpečení pro oprávnění, která provádí.

Volání Assert je účinné, dokud se volající kód nevrátí do volajícího. V rámci rámce může být aktivní pouze jeden Assert . Výsledkem pokusu o volání Assert , pokud aktivní Assert existuje v rámci, má za SecurityExceptionnásledek . Zavolat RevertAssert nebo RevertAll odebrat aktivní Assert.

Assert je ignorován pro oprávnění, které není uděleno, protože požadavek na toto oprávnění nebude úspěšný. Pokud je však kód nižší v volání zásobníku Demand volání pro toto oprávnění, je vyvolán, SecurityException když zásobník chůze dosáhne kódu, který se pokusil volat Assert. K tomu dochází, protože kód, který volal Assert , nebyl udělen oprávnění, i když se ho pokusil Assert .

Caution

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

Poznámky pro dědice

Tuto metodu nelze přepsat.

Platí pro

Viz také