Claim Класс

Определение

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

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

Примеры

В следующем примере извлекаются утверждения, связанные с прошедшей проверку подлинности пользователь, выполняющий HTTP-запрос, и записывает их в ответ HTTP.The following example extracts the claims associated to the authenticated user performing an HTTP request and writes them in the HTTP response. Текущий пользователь считывается из HttpContext как ClaimsPrincipal и утверждения считываются из него.The current user is read from the HttpContext as a ClaimsPrincipal and the claims are read from it. Затем утверждения записываются в объект HttpResponse.The claims are then written to the HttpResponse object.

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>");  
   }  
  
}  
  

Комментарии

Утверждение — это заявление о субъекте по издателю.A claim is a statement about a subject by an issuer. Утверждения представляют атрибуты субъекта, которые полезны в контексте операций проверки подлинности и авторизации.Claims represent attributes of the subject that are useful in the context of authentication and authorization operations. Субъекты и издатели являются сущностями, которые являются частью сценария идентификации.Subjects and issuers are both entities that are part of an identity scenario. Вот некоторые типичные примеры субъекта: пользователь, приложение или служба, устройство или компьютер.Some typical examples of a subject are: a user, an application or service, a device, or a computer. Ниже приведены некоторые типичные примеры издателя: операционная система, приложение, служба, поставщик ролей, поставщик удостоверений или поставщик Федерации.Some typical examples of an issuer are: the operating system, an application, a service, a role provider, an identity provider, or a federation provider. Издатель доставляет заявки, выдавая маркеры безопасности, как правило, через службу маркеров безопасности (STS).An issuer delivers claims by issuing security tokens, typically through a Security Token Service (STS). (В WIF можно создать службу STS, производную от класса SecurityTokenService.) В некоторых случаях коллекция утверждений, полученных от издателя, может быть расширена с помощью атрибутов субъекта, хранящихся непосредственно в ресурсе.(In WIF, you can build an STS by deriving from the SecurityTokenService class.) On occasion, the collection of claims received from an issuer can be extended by subject attributes stored directly at the resource. Утверждение может быть оценено для определения прав доступа к данным и другим защищенным ресурсам в процессе авторизации, а также для принятия или быстрой проверки подлинности субъекта.A claim can be evaluated to determine access rights to data and other secured resources during the process of authorization and can also be used to make or express authentication decisions about a subject.

Начиная с .NET 4,5 классы Windows Identity Foundation (WIF), которые реализуют удостоверение на основе утверждений, полностью интегрированы в .NET Framework.Beginning with .NET 4.5, the Windows Identity Foundation (WIF) classes, which implement claims-based identity, have been fully integrated into the .NET Framework. Концепция утверждений реализуется классом Claim.The claims concept is implemented by the Claim class.

Ниже описаны важные свойства класса Claim.The following describes important properties of the Claim class:

  • Свойство Type — это строка (обычно URI), которая содержит семантические сведения о утверждении; Он указывает, что означает значение утверждения.The Type property is a string (typically a URI) that contains the semantic information about the claim; it tells you what the value of the claim means. Например, утверждение с типом утверждения GivenName ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") представляет имя пользователя.For example, a claim with a claim type of GivenName ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") represents a user's first name. Значением свойства Type может быть один из известных типов утверждений, определенных в ClaimTypes классе, или произвольный URI, определенный издателем.The value of the Type property can be one of the well-known claim types defined in the ClaimTypes class, or it can be an arbitrary URI as defined by the issuer. Например, тип утверждения "urn: спендинглимит" может представлять пользовательский атрибут, который имеет смысл в бизнес-контексте издателя.For example, a claim type of "urn:spendinglimit" might represent a user attribute which makes sense within the business context of the issuer.

  • Свойство Value содержит значение утверждения.The Value property contains the value of the claim. Чтобы сократить зависимости и упростить администрирование, в WIF значение утверждения представлено только в виде строки.In order to reduce dependencies and simplify administration, in WIF the value of a claim is represented only as a string. Для более сложных типов значений рекомендуется использовать стандартные типы схем XML, чтобы указать, как это значение должно быть сериализовано и десериализовано из строки.For more complex value types, it is recommended that you use standard XML schema types to indicate how the value is meant to be serialized into and deserialized from a string.

  • Свойство ValueType содержит строку, определяющую сведения о типе для значения.The ValueType property contains a string that identifies the type information for the value. Это свойство следует использовать для понимания формата значения и предоставления сведений о способе десериализации.This property should be used to understand the format of the value and to provide information about how to deserialize it. Если для решения требуются сложные типы значений, рекомендуется использовать стандартные типы схем XML в свойстве ValueType, чтобы указать, как свойство Value должно быть сериализовано и десериализовано из строки.If your solution requires complex value types, it is recommended that you use standard XML schema types in the ValueType property to indicate how the Value property is meant to be serialized into and deserialized from a string.

  • Свойство Subject — это ClaimsIdentity объект, представляющий субъект утверждения.The Subject property is a ClaimsIdentity object that represents the subject of the claim. Тема утверждения — это сущность (обычно пользователь, запрашивающий доступ к ресурсу), о которой утверждено утверждение.The subject of the claim is the entity (typically the user who is requesting access to a resource) about which the claim is asserted. В ClaimsIdentity содержатся свойства, коллекция утверждений, описывающих свойства и атрибуты субъекта согласно аттестации одним или несколькими издателями.The ClaimsIdentity contains, among its properties, a collection of claims that describe the properties and attributes of the subject as attested to by one or more issuers.

  • Свойство Issuer содержит имя сущности, выдавшей утверждение.The Issuer property contains the name of the entity that issued the claim. Издатель утверждения представлен в WIF строкой, содержащей имя, взятое из списка известных издателей, обслуживаемых реестром имен издателя.The issuer of a claim is represented in WIF by a string that contains a name taken from a list of well-known issuers that is maintained by the issuer name registry. Реестр имен издателей является экземпляром класса, производного от класса IssuerNameRegistry.The issuer name registry is an instance of a class that derives from the IssuerNameRegistry class. Реестр имен издателей связывает назначенное имя с криптографическим материалом, необходимым для проверки подписей маркеров, созданных соответствующим издателем.The issuer name registry associates a mnemonic name to the cryptographic material needed to verify the signatures of tokens produced by the corresponding issuer. Например, класс ConfigurationBasedIssuerNameRegistry, доступный по отношению к .NET 4,5, связывает назначенное имя для каждого издателя с соответствующим сертификатом X. 509.For example, the ConfigurationBasedIssuerNameRegistry class, available out of the box with .NET 4.5, associates the mnemonic name for each issuer with its corresponding X.509 certificate. Список известных издателей обычно создается во время запуска в реестре имен издателя.The list of well-known issuers is typically built at startup time by the issuer name registry. Список, используемый ConfigurationBasedIssuerNameRegistry, указывается в файле конфигурации приложения.The list used by the ConfigurationBasedIssuerNameRegistry is specified in the application configuration file.

  • Свойство OriginalIssuer содержит имя сущности, которая изначально выдала утверждение.The OriginalIssuer property contains the name of the entity that originally issued the claim. Это свойство предназначено для упрощения сценариев, в которых утверждение может пройти через несколько издателей, прежде чем оно будет представлено клиентом приложению RP. Например, сценарии Федерации.This property is designed to facilitate scenarios where a claim may pass through multiple issuers before it is presented by the client to the RP application; such as federation scenarios. Вы можете проверить свойство OriginalIssuer, чтобы определить сущность, которая изначально выдала утверждение.You can examine the OriginalIssuer property to determine the entity that originally issued the claim. Имя берется из списка известных издателей, поддерживаемых реестром имен издателей, как в случае со свойством Issuer.The name is taken from the list of well-known issuers maintained by the issuer name registry, as in the case of the Issuer property.

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

Claim(BinaryReader)

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

Claim(BinaryReader, ClaimsIdentity)

Инициализирует новый экземпляр класса Claim заданным модулем чтения и субъектом.Initializes a new instance of the Claim class with the specified reader and subject.

Claim(Claim)

Инициализация нового экземпляра класса Claim.Initializes a new instance of the Claim class.

Claim(Claim, ClaimsIdentity)

Инициализирует новый экземпляр класса Claim указанным утверждением безопасности и субъектом.Initializes a new instance of the Claim class with the specified security claim and subject.

Claim(String, String)

Инициализирует новый экземпляр класса Claim с указанным типом утверждения и значением.Initializes a new instance of the Claim class with the specified claim type, and value.

Claim(String, String, String)

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

Claim(String, String, String, String)

Инициализирует новый экземпляр класса Claim указанным типом утверждения, значением, типом значения и издателем.Initializes a new instance of the Claim class with the specified claim type, value, value type, and issuer.

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

Инициализирует новый экземпляр класса Claim с заданным типом утверждения, значением, типом значения, издателем и первоначальным издателем.Initializes a new instance of the Claim class with the specified claim type, value, value type, issuer, and original issuer.

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

Инициализирует новый экземпляр класса Claim указанным типом требования, значением, типом значения, издателем, исходным издателем и субъектом.Initializes a new instance of the Claim class with the specified claim type, value, value type, issuer, original issuer and subject.

Свойства

CustomSerializationData

Содержит дополнительные данные, предоставленные производным типом.Contains any additional data provided by a derived type.

Issuer

Возвращает издатель утверждения.Gets the issuer of the claim.

OriginalIssuer

Возвращает исходный издатель утверждения.Gets the original issuer of the claim.

Properties

Возвращает словарь, содержащий дополнительные свойства, связанные с этим утверждением.Gets a dictionary that contains additional properties associated with this claim.

Subject

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

Type

Получает тип утверждения.Gets the claim type of the claim.

Value

Возвращает значение утверждения.Gets the value of the claim.

ValueType

Возвращает тип значения утверждения.Gets the value type of the claim.

Методы

Clone()

Возвращает новый объект Claim, скопированный из этого объекта.Returns a new Claim object copied from this object. Новое утверждение не имеет субъекта.The new claim does not have a subject.

Clone(ClaimsIdentity)

Возвращает новый объект Claim, скопированный из этого объекта.Returns a new Claim object copied from this object. Субъект нового утверждения имеет значение указанного ClaimsIdentity.The subject of the new claim is set to the specified ClaimsIdentity.

Equals(Object)

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

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

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

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

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

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

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

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

Возвращает строковое представление этого объекта Claim.Returns a string representation of this Claim object.

WriteTo(BinaryWriter)

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

WriteTo(BinaryWriter, Byte[])

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

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

Дополнительно