IStackWalk Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |