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.Asserts that the calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource.

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

Eccezioni

Il codice chiamante non ha Assertion.The calling code does not have Assertion.

Commenti

La Assert chiamata a arresta il controllo delle autorizzazioni sui chiamanti più in alto nello stack di chiamate.Calling Assert stops the permission check on callers higher in the call stack. Pertanto, anche se questi chiamanti non dispongono delle autorizzazioni necessarie, possono comunque accedere alle risorse.Therefore, even if these callers do not have the requisite permissions, they can still access resources. Un'asserzione è efficace solo se il codice che Assert chiama passa il controllo di sicurezza per l'autorizzazione che sta asserindo.An assertion is effective only if the code that calls Assert passes the security check for the permission that it is asserting.

Una chiamata a Assert è efficace fino a quando il codice chiamante non torna al chiamante o fino a quando Assert una chiamata successiva non esegue il rendering dell'asserzione precedente inefficace.A call to Assert is effective until the calling code returns to its caller or until a subsequent call to Assert renders the previous assertion ineffective. Inoltre, RevertAssert o RevertAll rimuove un oggetto in Assertsospeso.Also, RevertAssert or RevertAll removes a pending Assert.

Assertviene ignorato per un'autorizzazione non concessa perché una richiesta di tale autorizzazione avrà esito negativo.Assert is ignored for a permission not granted because a demand for that permission will not succeed. Tuttavia, se il codice inferiore nello stack di chiamate Demand chiama tale autorizzazione, viene SecurityException generata un'eccezione quando il percorso dello stack raggiunge il codice che ha Asserttentato di chiamare.However, if code lower on the call stack calls Demand for that permission, a SecurityException is thrown when the stack walk reaches the code that tried to call Assert. Ciò si verifica perché al codice che Assert ha chiamato non è stata concessa l'autorizzazione, anche se Assert è stato eseguito un tentativo.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Attenzione

Poiché la Assert chiamata a rimuove il requisito per il quale a tutto il codice nella catena di chiamate deve essere concessa l'autorizzazione per accedere alla risorsa specificata, può aprire vulnerabilità di sicurezza se utilizzate in modo errato o non appropriato.Because calling Assert removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security vulnerabilities if used incorrectly or inappropriately. Pertanto, è consigliabile utilizzarlo con molta cautela.Therefore, it should be used with great caution.

Si applica a

Vedi anche