IStackWalk Interfaccia

Definizione

Gestisce il percorso dello stack che determina se tutti i chiamanti nello stack di chiamate hanno le autorizzazioni necessarie per accedere a una risorsa protetta.Manages the stack walk that determines whether all callers in the call stack have the required permissions to access a protected resource.

public interface class IStackWalk
[System.Runtime.InteropServices.ComVisible(true)]
public interface IStackWalk
type IStackWalk = interface
Public Interface IStackWalk
Derivato
Attributi

Commenti

Il codice parzialmente attendibile presenta sempre un rischio per la sicurezza.Partially trusted code always presents a security risk. Talvolta può essere modificato per eseguire azioni per conto di codice dannoso che non dispone dell'autorizzazione per accedere a una risorsa.It can sometimes be manipulated to perform actions on behalf of malicious code that does not have permission to access a resource. In questo modo, il codice dannoso può ottenere un accesso di sicurezza superiore rispetto a quanto dovrebbe essere consentito.In this way, malicious code can achieve higher security access than it should be allowed.

Il Common Language Runtime aiuta a proteggere il codice gestito da questi attacchi eseguendo un percorso stack per tutte le chiamate.The common language runtime helps protect managed code from these attacks by running a stack walk on all calls. Per il percorso stack è necessario che tutto il codice nello stack di chiamate disponga delle autorizzazioni per accedere a una risorsa protetta.The stack walk requires that all code in the call stack has permission to access a protected resource. Poiché il codice che tenta di eseguire l'attacco è sempre presente nello stack di chiamate, non sarà in grado di superare le proprie autorizzazioni di sicurezza.Because the code attempting the attack will always be somewhere in the call stack, it will be unable to exceed its own security permissions.

Metodi

Assert()

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.

Demand()

Determina in fase di esecuzione se tutti i chiamanti nello stack di chiamate hanno l'autorizzazione specificata dall'oggetto autorizzazioni corrente.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

Deny()

Causa l'esito negativo di ogni oggetto Demand() per l'oggetto corrente che passa attraverso il codice chiamante.Causes every Demand() for the current object that passes through the calling code to fail.

PermitOnly()

Causa un errore per ogni metodo Demand() che attraversa il codice chiamante per tutti gli oggetti ad eccezione dell'oggetto corrente, anche se al codice di livello superiore nello stack di chiamate è stata concessa l'autorizzazione per accedere ad altre risorse.Causes every Demand() for all objects except the current one that passes through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources.

Si applica a