PrincipalPermission Clase

Definición

Precaución

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

Permite comprobaciones con la entidad de seguridad activa (consulte IPrincipal) mediante las construcciones de lenguaje definidas para las acciones de seguridad declarativas e imperativas. Esta clase no puede heredarse.

public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[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 PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
Herencia
PrincipalPermission
Atributos
Implementaciones

Comentarios

Caution

La seguridad de acceso al código (CAS) está en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y producen errores si se utilizan las API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Al pasar información de identidad (nombre de usuario y rol) al constructor, PrincipalPermission se puede usar para exigir que la identidad de la entidad de seguridad activa coincida con esta información.

Para que coincida con el activo IPrincipal y asociado IIdentity, la identidad y el rol especificados deben coincidir. Si null se usa la cadena de identidad, se interpreta como una solicitud para que coincida con cualquier identidad. El uso de la cadena de null rol coincidirá con cualquier rol. Por implicación, pasar null el parámetro para name o role a PrincipalPermission coincidirá con la identidad y los roles de cualquier IPrincipal. También es posible construir un que PrincipalPermission solo determina si IIdentity representa una entidad autenticada o no autenticada. En este caso, name y role se omiten.

A diferencia de la mayoría de los demás permisos, PrincipalPermission no extiende CodeAccessPermission. Sin embargo, implementa la IPermission interfaz . Esto se debe a PrincipalPermission que no es un permiso de acceso de código; es decir, no se concede en función de la identidad del ensamblado en ejecución. En su lugar, permite que el código realice acciones (Demand, Union, Intersect, etc.) en la identidad del usuario actual de forma coherente con la forma en que esas acciones se realizan para el acceso al código y los permisos de identidad de código.

Importante

Antes de una petición de permiso de entidad de seguridad, es necesario establecer la directiva principal del dominio de aplicación actual en el valor WindowsPrincipalde enumeración . De forma predeterminada, la directiva de entidad de seguridad se establece en UnauthenticatedPrincipal. Si no establece la directiva WindowsPrincipalde entidad de seguridad en , se producirá un error en una demanda de permisos de entidad de seguridad. El código siguiente debe ejecutarse antes de que se solicite el permiso de entidad de seguridad:

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

Constructores

Nombre Description
PrincipalPermission(PermissionState)
Obsoletos.

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

PrincipalPermission(String, String, Boolean)
Obsoletos.

Inicializa una nueva instancia de la PrincipalPermission clase para el estado de autenticación , namey especificadosrole.

PrincipalPermission(String, String)
Obsoletos.

Inicializa una nueva instancia de la PrincipalPermission clase para el especificado name y role.

Métodos

Nombre Description
Copy()
Obsoletos.

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

Demand()
Obsoletos.

Determina en tiempo de ejecución si la entidad de seguridad actual coincide con la entidad de seguridad especificada por el permiso actual.

Equals(Object)
Obsoletos.

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

Equals(Object)
Obsoletos.

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
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 PrincipalPermission objeto que es adecuado para su uso en algoritmos hash y estructuras de datos, como una tabla hash.

GetHashCode()
Obsoletos.

Actúa como función hash predeterminada.

(Heredado de Object)
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.

IsUnrestricted()
Obsoletos.

Devuelve un valor que indica si el permiso actual no está restringido.

MemberwiseClone()
Obsoletos.

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()
Obsoletos.

Crea y devuelve una cadena que representa el permiso actual.

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