StrongNameIdentityPermission Clase

Definición

Precaución

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

Define el permiso de identidades de nombres seguros. Esta clase no puede heredarse.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Herencia
StrongNameIdentityPermission
Atributos

Comentarios

Precaución

La seguridad de acceso del código (CAS) ha quedado en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y generan errores si se usan API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Importante

A partir de .NET Framework 4, no se usan permisos de identidad.

En las versiones 1.0 y 1.1 de .NET Framework, los permisos de identidad no pueden tener un Unrestricted valor de estado de permiso. En .NET Framework versión 2.0 y posteriores, los permisos de identidad pueden tener cualquier valor de estado de permiso. Esto significa que en la versión 2.0 y versiones posteriores, los permisos de identidad tienen el mismo comportamiento que los permisos que implementan la IUnrestrictedPermission interfaz. Es decir, una demanda de una identidad siempre se realiza correctamente, independientemente de la identidad del ensamblado, si el ensamblado se ha concedido plena confianza.

Use StrongNameIdentityPermission para confirmar que el código de llamada está en un ensamblado de código con nombre seguro determinado. Las demandas completas solo se realizan StrongNameIdentityPermission correctamente si todos los ensamblados de la pila tienen la evidencia correcta para satisfacer la demanda. Link exige que el atributo use StrongNameIdentityPermissionAttribute correctamente solo si el llamador inmediato tiene la evidencia correcta.

Una identidad de nombre seguro se basa en una clave pública criptográfica denominada objeto binario grande (BLOB), que opcionalmente se combina con el nombre y la versión de un ensamblado específico. La clave define un espacio de nombres único y proporciona una comprobación segura de que el nombre es original, ya que la definición del nombre debe estar en un ensamblado firmado por la clave privada correspondiente.

Tenga en cuenta que la validez de la clave de nombre seguro no depende de una relación de confianza ni de ningún certificado que se emita necesariamente para la clave.

En las versiones 1.0 y 1.1 de .NET Framework, las exigencias de los permisos de identidad son efectivas incluso cuando el ensamblado de llamada es de plena confianza. Es decir, aunque el ensamblado de llamada tenga plena confianza, se produce un error en la demanda de un permiso de identidad si el ensamblado no cumple los criterios solicitados. En .NET Framework versión 2.0 y posteriores, las demandas de permisos de identidad son ineficaces si el ensamblado de llamada tiene plena confianza. Esto garantiza la coherencia de todos los permisos y elimina el tratamiento de los permisos de identidad como caso especial.

Para obtener una descripción completa de los nombres seguros, consulte la página de StrongName referencia. Para obtener más información sobre los ensamblados con nombre seguro, consulte Ensamblados con nombre seguro.

La StrongNameIdentityPermission clase se usa para definir requisitos de nombre seguro para acceder a los miembros públicos de un tipo. El StrongNameIdentityPermissionAttribute atributo se puede usar para definir requisitos de nombre seguro en el nivel de ensamblado. En .NET Framework versión 2.0 y posteriores, también puede usar el InternalsVisibleToAttribute atributo para especificar que todos los tipos no públicos de ese ensamblado son visibles para otro ensamblado. Para obtener más información, consulte Ensamblados de confianza.

Constructores

StrongNameIdentityPermission(PermissionState)
Obsoletos.

Inicializa una nueva instancia de la clase StrongNameIdentityPermission con el objeto PermissionState especificado.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Obsoletos.

Inicializa una nueva instancia de la clase StrongNameIdentityPermission para la identidad del nombre seguro especificado.

Propiedades

Name
Obsoletos.

Obtiene o establece el nombre sencillo de la identidad de nombre seguro.

PublicKey
Obsoletos.

Obtiene o establece el blob de clave pública que define el espacio de nombres de identidad de nombre seguro.

Version
Obsoletos.

Obtiene o establece el número de versión de la identidad.

Métodos

Assert()
Obsoletos.

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permiso a través del código que llama a este método, 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. El uso de Assert() puede crear problemas de seguridad.

(Heredado de CodeAccessPermission)
Copy()
Obsoletos.

Crea y devuelve una copia idéntica del permiso actual.

Demand()
Obsoletos.

Fuerza a un SecurityException en tiempo de ejecución si todos los autores de llamada situados en la parte superior de la pila de llamadas no disponen del permiso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
Deny()
Obsoletos.
Obsoletos.

Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
Equals(Object)
Obsoletos.

Determina si el objeto CodeAccessPermission especificado es igual al objeto CodeAccessPermission actual.

(Heredado de CodeAccessPermission)
FromXml(SecurityElement)
Obsoletos.

Reconstruye un permiso con un estado especificado a partir de una codificación XML.

GetHashCode()
Obsoletos.

Obtiene un código hash para el objeto CodeAccessPermission que es adecuado para su uso en algoritmos hash y estructuras de datos como una tabla hash.

(Heredado de CodeAccessPermission)
GetType()
Obsoletos.

Obtiene el Type de la instancia actual.

(Heredado de Object)
Intersect(IPermission)
Obsoletos.

Crea y devuelve un permiso que es la intersección del permiso actual y el permiso especificado.

IsSubsetOf(IPermission)
Obsoletos.

Determina si el permiso actual es un subconjunto del permiso especificado.

MemberwiseClone()
Obsoletos.

Crea una copia superficial del Object actual.

(Heredado de Object)
PermitOnly()
Obsoletos.

Impide que los llamadores situados más arriba en la pila de llamadas usen el código que llama a este método para tener acceso a todos los recursos excepto al recurso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
ToString()
Obsoletos.

Crea y devuelve una representación de cadena del objeto de permiso actual.

(Heredado de CodeAccessPermission)
ToXml()
Obsoletos.

Crea una codificación XML del permiso y su estado actual.

Union(IPermission)
Obsoletos.

Crea un permiso que es la unión del permiso actual y el permiso especificado.

Se aplica a

Consulte también