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.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
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

O código parcialmente confiável sempre apresenta um risco de segurança.Partially trusted code always presents a security risk. À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.It can sometimes be manipulated to perform actions on behalf of malicious code that does not have permission to access a resource. Dessa forma, o código mal-intencionado pode obter maior acesso de segurança do que deve ser permitido.In this way, malicious code can achieve higher security access than it should be allowed.

O Common Language Runtime ajuda a proteger o código gerenciado desses ataques executando uma movimentação de pilha em todas as chamadas.The common language runtime helps protect managed code from these attacks by running a stack walk on all calls. A movimentação de pilha requer que todos os códigos na pilha de chamadas tenham permissão para acessar um recurso protegido.The stack walk requires that all code in the call stack has permission to access a protected resource. 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.Because the code attempting the attack will always be somewhere in the call stack, it will be unable to exceed its own security permissions.

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.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 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.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

Deny()

Faz com que cada Demand() para o objeto atual que passa pelo código de chamada falhe.Causes every Demand() for the current object that passes through the calling code to fail.

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.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.

Aplica-se a