IStackWalk Interfaz

Definición

Precaución

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

Administra el recorrido de pila que determina si todos los autores de llamada de la pila de llamadas tienen los permisos necesarios para tener acceso a un 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

Comentarios

El código de confianza parcial siempre presenta un riesgo para la seguridad.Partially trusted code always presents a security risk. A veces se puede manipular para realizar acciones en nombre de código malintencionado que no tiene permiso para obtener acceso a un recurso.It can sometimes be manipulated to perform actions on behalf of malicious code that does not have permission to access a resource. De esta manera, el código malintencionado puede lograr un mayor acceso de seguridad que el que se debe permitir.In this way, malicious code can achieve higher security access than it should be allowed.

El Common Language Runtime ayuda a proteger el código administrado de estos ataques mediante la ejecución de un recorrido de pila en todas las llamadas.The common language runtime helps protect managed code from these attacks by running a stack walk on all calls. El recorrido de la pila requiere que todo el código de la pila de llamadas tenga permiso para obtener acceso a un recurso protegido.The stack walk requires that all code in the call stack has permission to access a protected resource. Dado que el código que intenta el ataque siempre estará en algún lugar de la pila de llamadas, no podrá superar sus propios permisos de seguridad.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()

Afirma que el código de llamada puede tener acceso al recurso identificado por el objeto de permiso actual, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al 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 en tiempo de ejecución si a todos los autores de llamada de la pila de llamadas se les ha concedido el permiso especificado por el objeto de permiso actual.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

Deny()

Hace que cada Demand() del objeto actual que pase por el código de llamada produzca un error.Causes every Demand() for the current object that passes through the calling code to fail.

PermitOnly()

Hace que cada Demand() para todos los objetos excepto el actual que pasa por el código de llamada genere un error, incluso si se ha concedido permiso de acceso al código situado más arriba en la pila de llamadas para otros recursos.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.

Se aplica a