PrincipalPermission Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 , |
| PrincipalPermission(String, String) |
Obsoletos.
Inicializa una nueva instancia de la PrincipalPermission clase para el especificado |
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. |