Claim Класс

Определение

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

public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
Наследование
Claim
Атрибуты

Примеры

В следующем примере извлекаются утверждения, связанные с пользователем, прошедшим проверку подлинности, выполняющим HTTP-запрос, и записываются в ОТВЕТ HTTP. Текущий пользователь считывается из HttpContext как , ClaimsPrincipal а утверждения считываются из него. Затем утверждения записываются в HttpResponse объект .

ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;  
if (null != principal)  
{  
   foreach (Claim claim in principal.Claims)  
   {  
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");  
   }  

}  

Комментарии

Утверждение — это утверждение о субъекте со стороны издателя. Утверждения представляют атрибуты субъекта, которые полезны в контексте операций проверки подлинности и авторизации. Субъекты и издатели — это сущности, которые являются частью сценария идентификации. Некоторые типичные примеры темы: пользователь, приложение или служба, устройство или компьютер. Ниже приведены некоторые типичные примеры издателя: операционная система, приложение, служба, поставщик ролей, поставщик удостоверений или поставщик федерации. Издатель доставляет утверждения путем выдачи маркеров безопасности, как правило, через службу маркеров безопасности (STS). (В WIF можно создать STS, наследуя SecurityTokenService от класса .) В некоторых случаях коллекция утверждений, полученных от издателя, может быть расширена атрибутами субъекта, хранящимися непосредственно в ресурсе. Утверждение может быть оценено для определения прав доступа к данным и другим защищенным ресурсам в процессе авторизации, а также может использоваться для принятия или выражения решений о проверке подлинности в отношении субъекта.

Начиная с .NET 4.5 классы Windows Identity Foundation (WIF), реализующие удостоверения на основе утверждений, полностью интегрированы в платформа .NET Framework. Концепция утверждений реализуется классом Claim .

Ниже описаны важные Claim свойства класса :

  • Свойство Type — это строка (обычно URI), содержащая семантические сведения о утверждении. Оно сообщает, что означает значение утверждения. Например, утверждение с типом GivenName утверждения ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") представляет имя пользователя. Значение свойства может быть одним из известных Type типов утверждений, определенных в ClaimTypes классе , или произвольным универсальным кодом ресурса (URI) в соответствии с определением издателя. Например, тип утверждения "urn:spendinglimit" может представлять атрибут пользователя, который имеет смысл в бизнес-контексте издателя.

  • Свойство Value содержит значение утверждения. Чтобы уменьшить зависимости и упростить администрирование, в WIF значение утверждения представлено только в виде строки. Для более сложных типов значений рекомендуется использовать стандартные типы схем XML, чтобы указать, как значение должно быть сериализовано в строку и десериализовано из нее.

  • Свойство ValueType содержит строку, определяющую сведения о типе для значения. Это свойство должно использоваться для понимания формата значения и предоставления сведений о его десериализации. Если для решения требуются сложные типы значений, рекомендуется использовать стандартные типы схем XML в ValueType свойстве , чтобы указать, как Value свойство должно быть сериализовано в строку и десериализовано из нее.

  • Свойство Subject — это ClaimsIdentity объект , представляющий субъект утверждения. Субъектом утверждения является сущность (обычно это пользователь, запрашивающий доступ к ресурсу), о которой утверждается утверждение. Содержит ClaimsIdentity , среди своих свойств, коллекцию утверждений, описывающих свойства и атрибуты субъекта, которые засвидетельствованы одним или несколькими издателями.

  • Свойство Issuer содержит имя сущности, выдавшей утверждение. Издатель утверждения представлен в WIF строкой, содержащей имя, взятое из списка известных издателей, поддерживаемого реестром имен издателей. Реестр имен издателя — это экземпляр класса, производного от IssuerNameRegistry класса . Реестр имен издателя связывает мнемоническое имя с криптографическим материалом, необходимым для проверки подписей маркеров, созданных соответствующим издателем. Например, ConfigurationBasedIssuerNameRegistry класс, доступный по полю с .NET 4.5, связывает мнемоническое имя для каждого издателя с соответствующим сертификатом X.509. Список известных издателей обычно создается во время запуска реестром имен издателей. Список, используемый объектом , ConfigurationBasedIssuerNameRegistry указывается в файле конфигурации приложения.

  • Свойство OriginalIssuer содержит имя сущности, первоначально выдавшей утверждение. Это свойство предназначено для упрощения сценариев, в которых утверждение может пройти через несколько издателей, прежде чем оно будет представлено клиентом приложению RP; например, сценарии федерации. Вы можете проверить свойство, OriginalIssuer чтобы определить сущность, которая первоначально выдавла утверждение. Имя берется из списка известных издателей, поддерживаемых реестром имен издателей, как в случае со свойством Issuer .

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

Claim(BinaryReader)

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

Claim(BinaryReader, ClaimsIdentity)

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

Claim(Claim)

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

Claim(Claim, ClaimsIdentity)

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

Claim(String, String)

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

Claim(String, String, String)

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

Claim(String, String, String, String)

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

Claim(String, String, String, String, String)

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

Claim(String, String, String, String, String, ClaimsIdentity)

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

Свойства

CustomSerializationData

Содержит дополнительные данные, предоставленные производным типом.

Issuer

Возвращает издатель утверждения.

OriginalIssuer

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

Properties

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

Subject

Получает субъект утверждения.

Type

Получает тип утверждения.

Value

Возвращает значение утверждения.

ValueType

Возвращает тип значения утверждения.

Методы

Clone()

Возвращает новый объект Claim, скопированный из этого объекта. Новое утверждение не имеет субъекта.

Clone(ClaimsIdentity)

Возвращает новый объект Claim, скопированный из этого объекта. Субъект нового утверждения имеет значение указанного ClaimsIdentity.

Equals(Object)

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

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

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

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

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

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

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

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

Возвращает строковое представление этого объекта Claim.

WriteTo(BinaryWriter)

Записывает это утверждение Claim в модуль записи.

WriteTo(BinaryWriter, Byte[])

Записывает это утверждение Claim в модуль записи.

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

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