Condividi tramite


IStackWalk Interfaccia

Definizione

Attenzione

Code Access Security is not supported or honored by the runtime.

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.

public interface class IStackWalk
public interface IStackWalk
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public interface IStackWalk
[System.Runtime.InteropServices.ComVisible(true)]
public interface IStackWalk
type IStackWalk = interface
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type IStackWalk = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IStackWalk = interface
Public Interface IStackWalk
Derivato
Attributi

Commenti

Attenzione

La sicurezza di accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Il codice parzialmente attendibile presenta sempre un rischio per la sicurezza. A volte può essere modificato per eseguire azioni per conto di codice dannoso che non dispone dell'autorizzazione per accedere a una risorsa. In questo modo, il codice dannoso può ottenere un accesso di sicurezza superiore a quello consentito.

Common Language Runtime consente di proteggere il codice gestito da questi attacchi eseguendo una procedura dettagliata dello stack su tutte le chiamate. La procedura dettagliata dello stack richiede che tutto il codice nello stack di chiamate disponga dell'autorizzazione per accedere a una risorsa protetta. Poiché il codice che tenta l'attacco sarà sempre presente nello stack di chiamate, non sarà in grado di superare le proprie autorizzazioni di sicurezza.

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.

Demand()

Determina in fase di esecuzione se tutti i chiamanti nello stack di chiamate hanno l'autorizzazione specificata dall'oggetto autorizzazioni corrente.

Deny()

Causa l'esito negativo di ogni oggetto Demand() per l'oggetto corrente che passa attraverso il codice chiamante.

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.

Si applica a