Compartilhar via


IStackWalk Interface

Definição

Cuidado

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

Gerencia a movimentação da pilha que determina se todos os chamadores na pilha de chamadas têm as permissões necessárias para acessar um recurso protegido.

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
Derivado
Atributos

Comentários

Cuidado

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações CAS e produzem erros se AS APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos de realizar tarefas de segurança.

O código parcialmente confiável sempre apresenta um risco de segurança. Às vezes, ele pode ser manipulado para executar ações em nome de código mal-intencionado que não tem permissão para acessar um recurso. Dessa forma, o código mal-intencionado pode obter acesso de segurança maior do que deveria ser permitido.

O common language runtime ajuda a proteger o código gerenciado desses ataques executando uma caminhada de pilha em todas as chamadas. A caminhada de pilha requer que todo o código na pilha de chamadas tenha permissão para acessar um recurso protegido. Como o código que tenta o ataque sempre estará em algum lugar na pilha de chamadas, ele não poderá exceder suas próprias permissões de segurança.

Métodos

Assert()

Declara que código de chamada pode acessar o recurso identificado pelo objeto de permissão atual, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o recurso.

Demand()

Determina em tempo de execução se a permissão especificada pelo objeto de permissão atual foi ou não concedida a todos os chamadores na pilha de chamadas.

Deny()

Faz com que cada Demand() para o objeto atual que passa pelo código de chamada falhe.

PermitOnly()

Faz com que cada Demand() para todos os objetos, com exceção do atual, que passam pelo código de chamada falhe, mesmo se a permissão para acessar outros recursos foi concedida a código superior na pilha de chamadas.

Aplica-se a