ClaimsIdentity 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í.
Representa una identidad basada en notificaciones.
public ref class ClaimsIdentity : System::Security::Principal::IIdentity
public class ClaimsIdentity : System.Security.Principal.IIdentity
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ClaimsIdentity : System.Security.Principal.IIdentity
type ClaimsIdentity = class
interface IIdentity
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ClaimsIdentity = class
interface IIdentity
Public Class ClaimsIdentity
Implements IIdentity
- Herencia
-
ClaimsIdentity
- Derivado
- Atributos
- Implementaciones
Comentarios
La ClaimsIdentity clase es una implementación concreta de una identidad basada en notificaciones; es decir, una identidad descrita por una colección de notificaciones. Una notificación es una instrucción sobre una entidad realizada por un emisor que describe una propiedad, un derecho o alguna otra calidad de esa entidad. Dicha entidad se dice que es el sujeto de la notificación. La clase representa Claim una notificación. Las notificaciones contenidas en un ClaimsIdentity describe la entidad que representa la identidad correspondiente y se pueden usar para tomar decisiones de autorización y autenticación. Un modelo de acceso basado en notificaciones tiene muchas ventajas sobre los modelos de acceso más tradicionales que dependen exclusivamente de roles. Por ejemplo, las notificaciones pueden proporcionar información mucho más completa sobre la identidad que representan y se pueden evaluar para la autorización o autenticación de una manera mucho más específica.
A partir de .NET Framework 4.5, Windows Identity Foundation (WIF) y la identidad basada en notificaciones se han integrado completamente en .NET Framework. Esto significa que muchas clases que representan una identidad en .NET Framework ahora derivan de ClaimsIdentity y describen sus propiedades a través de una colección de notificaciones. Esto es diferente de las versiones anteriores de .NET Framework, en las que estas clases implementaron la IIdentity interfaz directamente. Se puede acceder a la colección de notificaciones que describen la identidad a través de la Claims propiedad . La ClaimsIdentity clase proporciona varios métodos para buscar y modificar notificaciones y admite totalmente consultas integradas de lenguaje (LINQ). En el código de aplicación, ClaimsIdentity normalmente se accede a los objetos a través ClaimsPrincipal de objetos; por ejemplo, la entidad de seguridad devuelta por Thread.CurrentPrincipal.
Nota:
La ClaimsPrincipal clase también tiene una Claims propiedad . En la mayoría de los casos, debe acceder a las notificaciones del usuario a través de la ClaimsPrincipal.Claims colección en lugar de a través de la Claims colección. Tendrá que acceder a las notificaciones de un individuo ClaimsIdentity solo en los casos en los que la entidad de seguridad contiene más de una ClaimsIdentity y debe evaluar o modificar una identidad específica.
Importante
Para agregar o quitar notificaciones de la Claims colección, un llamador debe tener plena confianza.
En el modelo basado en notificaciones, la IIdentity.Name propiedad y el IPrincipal.IsInRole(String) método se implementan mediante la evaluación de las notificaciones contenidas por una identidad. La propiedad y el ClaimsPrincipal.IsInRole método proporcionan las ClaimsIdentity.Name implementaciones base en el modelo basado en notificaciones. Las NameClaimType propiedades y RoleClaimType permiten especificar un tipo de notificación que se debe usar para evaluar las notificaciones contenidas por la identidad al realizar estas operaciones.
Los escenarios de delegación se admiten a través de las Actor propiedades y BootstrapContext .
Constructores
| Nombre | Description |
|---|---|
| ClaimsIdentity() |
Inicializa una nueva instancia de la ClaimsIdentity clase con una colección de notificaciones vacía. |
| ClaimsIdentity(BinaryReader, StringComparison) |
Inicializa una instancia de ClaimsIdentity con el especificado BinaryReader. |
| ClaimsIdentity(BinaryReader) |
Inicializa una instancia de ClaimsIdentity con el especificado BinaryReader. |
| ClaimsIdentity(ClaimsIdentity, StringComparison) |
Inicializa una nueva instancia de la ClaimsIdentity clase a partir de una instancia existente ClaimsIdentity . |
| ClaimsIdentity(ClaimsIdentity) |
Inicializa una nueva instancia de la ClaimsIdentity clase a partir de una instancia existente ClaimsIdentity . |
| ClaimsIdentity(IEnumerable<Claim>, String, String, String) |
Inicializa una nueva instancia de la ClaimsIdentity clase con las notificaciones, el tipo de autenticación, el tipo de notificación de nombre y el tipo de notificación de rol especificados. |
| ClaimsIdentity(IEnumerable<Claim>, String) |
Inicializa una nueva instancia de la ClaimsIdentity clase con las notificaciones y el tipo de autenticación especificados. |
| ClaimsIdentity(IEnumerable<Claim>) |
Inicializa una nueva instancia de la ClaimsIdentity clase mediante una colección enumerada de Claim objetos . |
| ClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String, StringComparison) |
Inicializa una nueva instancia de la clase ClaimsIdentity. |
| ClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String) |
Inicializa una nueva instancia de la ClaimsIdentity clase a partir de la especificada IIdentity mediante las notificaciones, el tipo de autenticación, el tipo de notificación de nombre y el tipo de notificación de rol especificados. |
| ClaimsIdentity(IIdentity, IEnumerable<Claim>) |
Inicializa una nueva instancia de la ClaimsIdentity clase utilizando las notificaciones especificadas y el especificado IIdentity. |
| ClaimsIdentity(IIdentity) |
Inicializa una nueva instancia de la ClaimsIdentity clase utilizando el nombre y el tipo de autenticación del especificado IIdentity. |
| ClaimsIdentity(SerializationInfo, StreamingContext) |
Obsoletos.
Inicializa una nueva instancia de la ClaimsIdentity clase a partir de una secuencia serializada creada mediante ISerializable. |
| ClaimsIdentity(SerializationInfo) |
Obsoletos.
Inicializa una nueva instancia de la ClaimsIdentity clase a partir de una secuencia serializada creada mediante ISerializable. |
| ClaimsIdentity(String, String, String) |
Inicializa una nueva instancia de la ClaimsIdentity clase con el tipo de autenticación, el tipo de notificación de nombre y el tipo de notificación de rol especificados. |
| ClaimsIdentity(String) |
Inicializa una nueva instancia de la ClaimsIdentity clase con una colección de notificaciones vacía y el tipo de autenticación especificado. |
Campos
| Nombre | Description |
|---|---|
| DefaultIssuer |
Emisor predeterminado; "AUTORIDAD LOCAL". |
| DefaultNameClaimType |
Tipo de notificación de nombre predeterminado; Name. |
| DefaultRoleClaimType |
Tipo de notificación de rol predeterminado; Role. |
Propiedades
| Nombre | Description |
|---|---|
| Actor |
Obtiene o establece la identidad de la entidad que llama a la que se concedió derechos de delegación. |
| AuthenticationType |
Obtiene el tipo de autenticación. |
| BootstrapContext |
Obtiene o establece el token que se usó para crear esta identidad de notificaciones. |
| Claims |
Obtiene las notificaciones asociadas a esta identidad de notificaciones. |
| CustomSerializationData |
Contiene los datos adicionales proporcionados por un tipo derivado. Normalmente, se establece al llamar a WriteTo(BinaryWriter, Byte[]). |
| IsAuthenticated |
Obtiene un valor que indica si la identidad se ha autenticado. |
| Label |
Obtiene o establece la etiqueta de esta identidad de notificaciones. |
| Name |
Obtiene el nombre de esta identidad de notificaciones. |
| NameClaimType |
Obtiene el tipo de notificación que se usa para determinar qué notificaciones proporcionan el valor de la Name propiedad de esta identidad de notificaciones. |
| RoleClaimType |
Obtiene el tipo de notificación que se interpretará como un rol de .NET entre las notificaciones de esta identidad de notificaciones. |
Métodos
| Nombre | Description |
|---|---|
| AddClaim(Claim) |
Agrega una sola notificación a esta identidad de notificaciones. |
| AddClaims(IEnumerable<Claim>) |
Agrega una lista de notificaciones a esta identidad de notificaciones. |
| Clone() |
Devuelve un nuevo ClaimsIdentity copiado de esta identidad de notificaciones. |
| CreateClaim(BinaryReader) |
Proporciona un punto de extensibilidad para los tipos derivados para crear un personalizado Claim. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| FindAll(Predicate<Claim>) |
Recupera todas las notificaciones que coinciden con el predicado especificado. |
| FindAll(String) |
Recupera todas las notificaciones que tienen el tipo de notificación especificado. |
| FindFirst(Predicate<Claim>) |
Recupera la primera notificación que coincide con el predicado especificado. |
| FindFirst(String) |
Recupera la primera notificación con el tipo de notificación especificado. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Rellena con los SerializationInfo datos necesarios para serializar el objeto actual ClaimsIdentity . |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| HasClaim(Predicate<Claim>) |
Determina si esta identidad de notificaciones tiene una notificación que coincide con el predicado especificado. |
| HasClaim(String, String) |
Determina si esta identidad de notificaciones tiene una notificación con el tipo de notificación y el valor especificados. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| RemoveClaim(Claim) |
Intenta quitar una notificación de la identidad de notificaciones. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| TryRemoveClaim(Claim) |
Intenta quitar una notificación de la identidad de notificaciones. |
| WriteTo(BinaryWriter, Byte[]) |
Serializa mediante .BinaryWriter |
| WriteTo(BinaryWriter) |
Serializa mediante .BinaryWriter |