Поделиться через


ClaimsIdentity Класс

Определение

Представляет удостоверение на основе утверждений.

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
Наследование
ClaimsIdentity
Производный
Атрибуты
Реализации

Комментарии

Класс ClaimsIdentity представляет собой конкретную реализацию удостоверения на основе утверждений, то есть удостоверение, описанное коллекцией утверждений. Утверждение — это заявление об сущности, сделанной издателем, описывающим свойство, право или другое качество этой сущности. Такая сущность, как говорят, является предметом претензии. Утверждение представлено классом Claim . Утверждения, содержащиеся в ClaimsIdentity описании сущности, представляющей соответствующее удостоверение, и могут использоваться для принятия решений об авторизации и проверке подлинности. Модель доступа на основе утверждений имеет множество преимуществ по сравнению с более традиционными моделями доступа, которые полагаются исключительно на роли. Например, утверждения могут предоставлять гораздо более подробные сведения об удостоверении, которое они представляют, и их можно оценить для авторизации или проверки подлинности гораздо более конкретным образом.

Начиная с .NET Framework 4.5, Windows Identity Foundation (WIF) и удостоверений на основе утверждений полностью интегрированы в .NET Framework. Это означает, что многие классы, представляющие удостоверение в .NET Framework, теперь являются производными от ClaimsIdentity них и описывают их свойства через коллекцию утверждений. Это отличается от предыдущих версий .NET Framework, в которых эти классы реализуют интерфейс напрямую IIdentity . Коллекция утверждений, описывающих удостоверение, можно получить через Claims свойство. Класс ClaimsIdentity предоставляет несколько методов для поиска и изменения утверждений и полностью поддерживает языковые интегрированные запросы (LINQ). В коде ClaimsIdentity приложения объекты обычно обращаются через ClaimsPrincipal объекты; например, субъект, возвращаемый Thread.CurrentPrincipal.

Замечание

Класс ClaimsPrincipal также имеет Claims свойство. В большинстве случаев вы должны получить доступ к утверждениям пользователя через ClaimsPrincipal.Claims коллекцию, а не через коллекцию Claims . Вам потребуется получить доступ к утверждениям отдельного человека ClaimsIdentity только в тех случаях, когда субъект содержит несколько ClaimsIdentity , и необходимо оценить или изменить определенное удостоверение.

Это важно

Чтобы добавить или удалить утверждения из коллекции, вызывающий Claims объект должен иметь полное доверие.

В модели на основе утверждений свойство и IPrincipal.IsInRole(String) метод реализуются путем оценки утверждений, IIdentity.Name содержащихся в удостоверении. Базовые реализации в модели на основе утверждений предоставляются свойством ClaimsIdentity.Name и методом ClaimsPrincipal.IsInRole . RoleClaimType Свойства NameClaimType позволяют указать тип утверждения, который следует использовать для оценки утверждений, содержащихся в удостоверении при выполнении этих операций.

Сценарии делегирования поддерживаются с помощью Actor свойств и BootstrapContext свойств.

Конструкторы

Имя Описание
ClaimsIdentity()

Инициализирует новый экземпляр класса с пустой коллекцией утверждений ClaimsIdentity .

ClaimsIdentity(BinaryReader, StringComparison)

Инициализирует экземпляр указанного ClaimsIdentityBinaryReaderобъекта.

ClaimsIdentity(BinaryReader)

Инициализирует экземпляр указанного ClaimsIdentityBinaryReaderобъекта.

ClaimsIdentity(ClaimsIdentity, StringComparison)

Инициализирует новый экземпляр класса из существующего ClaimsIdentityClaimsIdentity экземпляра.

ClaimsIdentity(ClaimsIdentity)

Инициализирует новый экземпляр класса из существующего ClaimsIdentityClaimsIdentity экземпляра.

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

Инициализирует новый экземпляр ClaimsIdentity класса с указанными утверждениями, типом проверки подлинности, типом утверждения имени и типом утверждения роли.

ClaimsIdentity(IEnumerable<Claim>, String)

Инициализирует новый экземпляр класса с указанным типом утверждений ClaimsIdentity и проверкой подлинности.

ClaimsIdentity(IEnumerable<Claim>)

Инициализирует новый экземпляр ClaimsIdentity класса с помощью перечисленной коллекции Claim объектов.

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

Инициализирует новый экземпляр класса ClaimsIdentity.

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

Инициализирует новый экземпляр класса из указанного ClaimsIdentity с помощью указанных IIdentity утверждений, типа проверки подлинности, типа утверждения имени и типа утверждения роли.

ClaimsIdentity(IIdentity, IEnumerable<Claim>)

Инициализирует новый экземпляр класса с помощью указанных утверждений ClaimsIdentity и указанного IIdentity.

ClaimsIdentity(IIdentity)

Инициализирует новый экземпляр ClaimsIdentity класса с помощью имени и типа проверки подлинности из указанного IIdentity.

ClaimsIdentity(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр класса из сериализованного потока, созданного ClaimsIdentity с помощью ISerializable.

ClaimsIdentity(SerializationInfo)
Устаревшие..

Инициализирует новый экземпляр класса из сериализованного потока, созданного ClaimsIdentity с помощью ISerializable.

ClaimsIdentity(String, String, String)

Инициализирует новый экземпляр ClaimsIdentity класса с указанным типом проверки подлинности, типом утверждения имени и типом утверждения роли.

ClaimsIdentity(String)

Инициализирует новый экземпляр класса с пустой коллекцией утверждений ClaimsIdentity и указанным типом проверки подлинности.

Поля

Имя Описание
DefaultIssuer

Издатель по умолчанию; "LOCAL AUTHORITY".

DefaultNameClaimType

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

DefaultRoleClaimType

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

Свойства

Имя Описание
Actor

Получает или задает удостоверение вызывающей стороны, которая была предоставлена права делегирования.

AuthenticationType

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

BootstrapContext

Возвращает или задает маркер, используемый для создания этого удостоверения утверждений.

Claims

Возвращает утверждения, связанные с этим удостоверением утверждений.

CustomSerializationData

Содержит дополнительные данные, предоставляемые производным типом. Обычно устанавливается при вызове WriteTo(BinaryWriter, Byte[]).

IsAuthenticated

Возвращает значение, указывающее, прошел ли удостоверение проверку подлинности.

Label

Возвращает или задает метку для этого удостоверения утверждений.

Name

Возвращает имя этого удостоверения утверждений.

NameClaimType

Возвращает тип утверждения, используемый для определения того, какие утверждения предоставляют значение для Name свойства этого удостоверения утверждений.

RoleClaimType

Возвращает тип утверждения, который будет интерпретирован как роль .NET среди утверждений в этом идентификаторе утверждений.

Методы

Имя Описание
AddClaim(Claim)

Добавляет одно утверждение к этому удостоверению утверждений.

AddClaims(IEnumerable<Claim>)

Добавляет список утверждений в это удостоверение утверждений.

Clone()

Возвращает новое ClaimsIdentity скопированное удостоверение утверждений.

CreateClaim(BinaryReader)

Предоставляет точку расширяемости для производных типов для создания пользовательского Claim.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindAll(Predicate<Claim>)

Извлекает все утверждения, которые соответствуют указанному предикату.

FindAll(String)

Извлекает все утверждения, имеющие указанный тип утверждения.

FindFirst(Predicate<Claim>)

Извлекает первое утверждение, соответствующее указанному предикату.

FindFirst(String)

Извлекает первое утверждение с указанным типом утверждения.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

Заполняет данные, необходимые SerializationInfo для сериализации текущего ClaimsIdentity объекта.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
HasClaim(Predicate<Claim>)

Определяет, имеет ли это удостоверение утверждений утверждение, соответствующее указанному предикату.

HasClaim(String, String)

Определяет, имеет ли это удостоверение утверждения с указанным типом и значением утверждения.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
RemoveClaim(Claim)

Пытается удалить утверждение из удостоверения утверждений.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TryRemoveClaim(Claim)

Пытается удалить утверждение из удостоверения утверждений.

WriteTo(BinaryWriter, Byte[])

Сериализуется с помощью .BinaryWriter

WriteTo(BinaryWriter)

Сериализуется с помощью .BinaryWriter

Применяется к

См. также раздел