IStackWalk.Assert Metodo

Definizione

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

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

Eccezioni

Il codice chiamante non dispone di Assertion.

Commenti

La chiamata arresta Assert il controllo delle autorizzazioni sui chiamanti più in 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 supera 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 non viene eseguita una chiamata successiva per Assert eseguire il rendering dell'asserzione precedente inefficace. Inoltre, RevertAssert o RevertAll rimuove un oggetto in sospeso Assert.

Assert viene ignorato per un'autorizzazione non concessa perché una richiesta di tale autorizzazione non avrà esito positivo. Tuttavia, se il codice inferiore nello stack di chiamate chiama Demand tale autorizzazione, viene generata un'eccezione SecurityException quando lo stack walk raggiunge il codice che ha tentato di chiamare Assert. Ciò si verifica perché al codice chiamato Assert non è stata concessa l'autorizzazione, anche se ha tentato di farlo Assert .

Caution

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 vulnerabilità di sicurezza se usate in modo non corretto o inappropriato. Pertanto, deve essere usato con grande cautela.

Si applica a

Vedi anche