Condividi tramite


IStackWalk.Assert Metodo

Definizione

Dichiara che il codice chiamante può accedere alla ricorsa identificata dall'oggetto autorizzazioni corrente, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione ad accedere alla risorsa.

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

Eccezioni

Il codice chiamante non ha Assertion.

Commenti

La chiamata Assert arresta il controllo delle autorizzazioni sui chiamanti più alto nello stack di chiamate. Pertanto, anche se questi chiamanti non dispongono delle autorizzazioni necessarie, possono comunque accedere alle risorse. Un'asserzione è efficace solo se il codice che chiama Assert passa il controllo di sicurezza per l'autorizzazione che sta asserendo.

Una chiamata a Assert è efficace fino a quando il codice chiamante non torna al chiamante o fino a quando una chiamata successiva per Assert rendere inefficace l'asserzione precedente. Inoltre, RevertAssert o RevertAll rimuove un oggetto in sospeso Assert.

Assert viene ignorato per un'autorizzazione non concessa perché una richiesta per tale autorizzazione non avrà esito positivo. Tuttavia, se il codice è inferiore allo stack di chiamate Demand per tale autorizzazione, viene generato un SecurityException valore quando la procedura dettagliata dello stack raggiunge il codice che ha tentato di chiamare Assert. Ciò avviene perché il codice che ha chiamato Assert non è stato concesso l'autorizzazione, anche se ha provato a Assert farlo.

Attenzione

Poiché la chiamata Assert rimuove il requisito che tutto il codice nella catena di chiamate deve essere concesso per accedere alla risorsa specificata, può aprire le vulnerabilità di sicurezza se usato in modo non corretto o inappropriato. Pertanto, deve essere usato con grande cautela.

Si applica a

Vedi anche