ClaimsIdentity Class

Definition

Предоставляет удостоверение на основе утверждений.Represents a claims-based identity.

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
Public Class ClaimsIdentity
Implements IIdentity
Inheritance
ClaimsIdentity
Derived
Attributes
Implements

Remarks

Класс ClaimsIdentity является конкретной реализацией удостоверения на основе утверждений; то есть удостоверение, описываемое коллекцией утверждений.The ClaimsIdentity class is a concrete implementation of a claims-based identity; that is, an identity described by a collection of claims. Утверждение — это утверждение сущности, созданной издателем, который описывает свойство, право или другое качество этой сущности.A claim is a statement about an entity made by an issuer that describes a property, right, or some other quality of that entity. Подобная сущность называется темой утверждения.Such an entity is said to be the subject of the claim. Утверждение представляется классом Claim.A claim is represented by the Claim class. Утверждения, содержащиеся в ClaimsIdentity описывают сущность, которую представляет соответствующее удостоверение, и могут использоваться для принятия решений о проверке подлинности и аутентификации.The claims contained in a ClaimsIdentity describe the entity that the corresponding identity represents, and can be used to make authorization and authentication decisions. Модель доступа на основе утверждений имеет множество преимуществ по сравнению с более традиционными моделями доступа, которые основываются исключительно на ролях.A claims-based access model has many advantages over more traditional access models that rely exclusively on roles. Например, утверждения могут предоставлять гораздо более широкие сведения об удостоверении, которые они представляют, и могут быть оценены для авторизации или проверки подлинности более конкретным образом.For example, claims can provide much richer information about the identity they represent and can be evaluated for authorization or authentication in a far more specific manner.

Начиная с .NET Framework 4,5, Windows Identity Foundation (WIF) и удостоверение на основе утверждений полностью интегрированы в .NET Framework.Beginning with .NET Framework 4.5, Windows Identity Foundation (WIF) and claims-based identity have been fully integrated into the .NET Framework. Это означает, что многие классы, представляющие идентификатор в .NET Framework теперь являются производными от ClaimsIdentity и описывают их свойства через коллекцию утверждений.This means that many classes that represent an identity in the .NET Framework now derive from ClaimsIdentity and describe their properties through a collection of claims. Это отличается от предыдущих версий .NET Framework, в которых эти классы напрямую реализовали интерфейс IIdentity.This is different from previous versions of the .NET Framework, in which, these classes implemented the IIdentity interface directly. Доступ к коллекции утверждений, описывающих удостоверение, можно получить с помощью свойства Claims.The collection of claims that describe the identity can be accessed through the Claims property. Класс ClaimsIdentity предоставляет несколько методов для поиска и изменения утверждений и полностью поддерживает запросы, интегрированные с языком (LINQ).The ClaimsIdentity class provides several methods for finding and modifying claims and fully supports language integrated queries (LINQ). В коде приложения доступ к ClaimsIdentity объектам обычно осуществляется через ClaimsPrincipal объекты. Например, участник, возвращенный Thread.CurrentPrincipal.In application code, ClaimsIdentity objects are typically accessed through ClaimsPrincipal objects; for example, the principal returned by Thread.CurrentPrincipal.

Note

Класс ClaimsPrincipal также имеет свойство Claims.The ClaimsPrincipal class has a Claims property as well. В большинстве случаев следует обращаться к утверждениям пользователя через коллекцию ClaimsPrincipal.Claims, а не с помощью коллекции Claims.In the majority of cases you should access the user's claims through the ClaimsPrincipal.Claims collection rather than through the Claims collection. Необходимо получить доступ к утверждениям отдельного ClaimsIdentity только в тех случаях, когда участник содержит более одного ClaimsIdentity и необходимо оценить или изменить конкретное удостоверение.You will need to access the claims of an individual ClaimsIdentity only in the cases where the principal contains more than one ClaimsIdentity and you need to evaluate or modify a specific identity.

Important

Чтобы добавить или удалить утверждения из коллекции Claims, вызывающий объект должен иметь полное доверие.To add or remove claims from the Claims collection, a caller must have full trust.

В модели на основе утверждений свойство IIdentity.Name и метод IPrincipal.IsInRole(String) реализуются путем оценки утверждений, содержащихся в удостоверении.In the claims-based model, the IIdentity.Name property and the IPrincipal.IsInRole(String) method are implemented by evaluating the claims contained by an identity. Базовые реализации в модели на основе утверждений предоставляются свойством ClaimsIdentity.Name и методом ClaimsPrincipal.IsInRole.The base implementations in the claims-based model are provided by the ClaimsIdentity.Name property and the ClaimsPrincipal.IsInRole method. Свойства NameClaimType и RoleClaimType позволяют указать тип утверждения, который должен использоваться для вычисления утверждений, содержащихся в удостоверении, при выполнении этих операций.The NameClaimType and RoleClaimType properties enable you to specify a claim type that should be used to evaluate the claims contained by the identity when performing these operations.

Сценарии делегирования поддерживаются с помощью свойств Actor и BootstrapContext.Delegation scenarios are supported through the Actor and BootstrapContext properties.

Constructors

ClaimsIdentity()

Инициализирует новый экземпляр класса ClaimsIdentity с пустой коллекцией требований.Initializes a new instance of the ClaimsIdentity class with an empty claims collection.

ClaimsIdentity(BinaryReader)

Инициализирует новый экземпляр ClaimsIdentity с указанным BinaryReader.Initializes an instance of ClaimsIdentity with the specified BinaryReader.

ClaimsIdentity(ClaimsIdentity)

Инициализирует новый экземпляр класса ClaimsIdentity из существующего экземпляра ClaimsIdentity.Initializes a new instance of the ClaimsIdentity class from an existing ClaimsIdentity instance.

ClaimsIdentity(IEnumerable<Claim>)

Инициализирует новый экземпляр класса ClaimsIdentity, используя перечисляемую коллекцию объектов Claim.Initializes a new instance of the ClaimsIdentity class using an enumerated collection of Claim objects.

ClaimsIdentity(IEnumerable<Claim>, String)

Инициализирует новый экземпляр класса ClaimsIdentity с указанными требованиями и типом аутентификации.Initializes a new instance of the ClaimsIdentity class with the specified claims and authentication type.

ClaimsIdentity(IEnumerable<Claim>, String, String, String)

Инициализирует новый экземпляр класса ClaimsIdentity указанными требованиями, типом аутентификации, типом требования имени и типом требования роли.Initializes a new instance of the ClaimsIdentity class with the specified claims, authentication type, name claim type, and role claim type.

ClaimsIdentity(IIdentity)

Инициализирует новый экземпляр класса ClaimsIdentity, используя имя и тип аутентификации из заданного объекта IIdentity.Initializes a new instance of the ClaimsIdentity class using the name and authentication type from the specified IIdentity.

ClaimsIdentity(IIdentity, IEnumerable<Claim>)

Инициализирует новый экземпляр класса ClaimsIdentity, используя указанные требования и заданный объект IIdentity.Initializes a new instance of the ClaimsIdentity class using the specified claims and the specified IIdentity.

ClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String)

Инициализирует новый экземпляр класса ClaimsIdentity из указанного IIdentity, используя указанные требования, тип аутентификации, тип требования имени и тип требования роли.Initializes a new instance of the ClaimsIdentity class from the specified IIdentity using the specified claims, authentication type, name claim type, and role claim type.

ClaimsIdentity(SerializationInfo)

Инициализирует новый экземпляр класса ClaimsIdentity из сериализованного потока, созданного с помощью ISerializable.Initializes a new instance of the ClaimsIdentity class from a serialized stream created by using ISerializable.

ClaimsIdentity(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса ClaimsIdentity из сериализованного потока, созданного с помощью ISerializable.Initializes a new instance of the ClaimsIdentity class from a serialized stream created by using ISerializable.

ClaimsIdentity(String)

Инициализирует новый экземпляр класса ClaimsIdentity пустой коллекцией требований и указанным типом аутентификации.Initializes a new instance of the ClaimsIdentity class with an empty claims collection and the specified authentication type.

ClaimsIdentity(String, String, String)

Инициализирует новый экземпляр класса ClaimsIdentity с указанным типом аутентификации, типом требования имени и типом требования роли.Initializes a new instance of the ClaimsIdentity class with the specified authentication type, name claim type, and role claim type.

Fields

DefaultIssuer

Издатель по умолчанию; "ЛОКАЛЬНАЯ СИСТЕМА".The default issuer; "LOCAL AUTHORITY".

DefaultNameClaimType

Тип утверждения имени по умолчанию; Name.The default name claim type; Name.

DefaultRoleClaimType

Тип утверждения роли по умолчанию; Role.The default role claim type; Role.

Properties

Actor

Получает или задает удостоверение вызывающей стороны, которой были предоставлены права делегирования.Gets or sets the identity of the calling party that was granted delegation rights.

AuthenticationType

Возвращает тип проверки подлинности.Gets the authentication type.

BootstrapContext

Получает или задает токен, который использовался для создания данного удостоверения на основе требований.Gets or sets the token that was used to create this claims identity.

Claims

Получает требования, связанные с данным удостоверением на основе требований.Gets the claims associated with this claims identity.

CustomSerializationData

Содержит дополнительные данные, предоставленные производным типом.Contains any additional data provided by a derived type. Обычно устанавливается при вызове WriteTo(BinaryWriter, Byte[]).Typically set when calling WriteTo(BinaryWriter, Byte[]).

IsAuthenticated

Получает значение, определяющее, прошло ли удостоверение аутентификацию.Gets a value that indicates whether the identity has been authenticated.

Label

Получает или задает метку для данного удостоверения на основе требований.Gets or sets the label for this claims identity.

Name

Получает имя данного удостоверения на основе требований.Gets the name of this claims identity.

NameClaimType

Получает тип требования, используемый для определения того, какие требования предоставляют значение для свойства Name данного удостоверения на основе требований.Gets the claim type that is used to determine which claims provide the value for the Name property of this claims identity.

RoleClaimType

Получает тип требования, который будет интерпретироваться как роль .NET Framework среди требований в данном удостоверении на основе требований.Gets the claim type that will be interpreted as a .NET Framework role among the claims in this claims identity.

Methods

AddClaim(Claim)

Добавляет одно требование к этому идентификатору требований.Adds a single claim to this claims identity.

AddClaims(IEnumerable<Claim>)

Добавляет список требований к этому идентификатору требований.Adds a list of claims to this claims identity.

Clone()

Возвращает новый объект ClaimsIdentity, скопированный из данного удостоверение утверждений.Returns a new ClaimsIdentity copied from this claims identity.

CreateClaim(BinaryReader)

Предоставляет точку расширяемости для производных типов с целью создания пользовательского Claim.Provides an extensibility point for derived types to create a custom Claim.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindAll(Predicate<Claim>)

Извлекает все утверждения, соответствующие указанного предикату.Retrieves all of the claims that are matched by the specified predicate.

FindAll(String)

Извлекает все утверждения, которые имеют указанный тип утверждения.Retrieves all of the claims that have the specified claim type.

FindFirst(Predicate<Claim>)

Извлекает первое утверждение, соответствующие указанному предикату.Retrieves the first claim that is matched by the specified predicate.

FindFirst(String)

Извлекает первое утверждение с указанным типом утверждения.Retrieves the first claim with the specified claim type.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext)

Заполняет объект SerializationInfo данными, необходимыми для сериализации текущего объекта ClaimsIdentity.Populates the SerializationInfo with data needed to serialize the current ClaimsIdentity object.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
HasClaim(Predicate<Claim>)

Определяет, имеет ли этот идентификатор утверждения утверждение, что соответствует заданному предикату.Determines whether this claims identity has a claim that is matched by the specified predicate.

HasClaim(String, String)

Определяет, имеет ли этот идентификатор утверждения утверждение с заданным типом и значением утверждения.Determines whether this claims identity has a claim with the specified claim type and value.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
RemoveClaim(Claim)

Пытается удалить утверждение на основе идентификатора утверждений.Attempts to remove a claim from the claims identity.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
TryRemoveClaim(Claim)

Пытается удалить утверждение на основе идентификатора утверждений.Attempts to remove a claim from the claims identity.

WriteTo(BinaryWriter)

Выполняет сериализацию с помощью BinaryWriter.Serializes using a BinaryWriter.

WriteTo(BinaryWriter, Byte[])

Выполняет сериализацию с помощью BinaryWriter.Serializes using a BinaryWriter.

Applies to

See also