IStackWalk IStackWalk IStackWalk IStackWalk Interface

Definizione

Gestisce il percorso dello stack che determina se tutti i chiamanti nello stack di chiamate dispongono delle 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

Codice parzialmente attendibile presenta sempre un rischio per la sicurezza.Partially trusted code always presents a security risk. In alcuni casi, può essere modificato per eseguire le 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, codice dannoso può ottenere un accesso di sicurezza superiore a quello che dovrebbe essere consentito.In this way, malicious code can achieve higher security access than it should be allowed.

Common language runtime consente di proteggere il codice gestito da questi attacchi mediante l'esecuzione di un percorso stack su tutte le chiamate.The common language runtime helps protect managed code from these attacks by running a stack walk on all calls. Analisi dello stack è necessario che tutto il codice nello stack di chiamate disponga dell'autorizzazione 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 l'attacco sarà sempre in qualche punto nello stack di chiamate, sarà possibile 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() Assert() Assert() 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() Demand() Demand() Demand()

In fase di esecuzione determina se a tutti i chiamanti dello stack di chiamate è stata concessa l'autorizzazione specificata dall'oggetto di autorizzazione corrente.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

Deny() Deny() Deny() Deny()

Determina l'annullamento di tutti i metodi Demand() che attraversano il codice chiamante per l'oggetto corrente.Causes every Demand() for the current object that passes through the calling code to fail.

PermitOnly() PermitOnly() PermitOnly() PermitOnly()

Determina l'annullamento di tutti i metodi Demand() che attraversano il codice chiamante per tutti gli oggetti ad eccezione dell'oggetto corrente, anche se il codice nella parte superiore dello stack di chiamate dispone dell'autorizzazione necessaria 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