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 |