Claim Класс

Определение

Представляет утверждение, связанное с сущностью.Represents a claim that is associated with an entity.

public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
type Claim = class
Public Class Claim
Наследование
Claim
Атрибуты

Примеры

// Run this method from within a method protected by the PrincipalPermissionAttribute
// to see the security context data, including the primary identity.
public void WriteServiceSecurityContextData(string fileName)
{
    using (StreamWriter sw = new StreamWriter(fileName))
    {
        // Write the primary identity and Windows identity. The primary identity is derived from the
        // the credentials used to authenticate the user. The Windows identity may be a null string.
        sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name);
        sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name);
        sw.WriteLine();
        // Write the claimsets in the authorization context. By default, there is only one claimset
        // provided by the system. 
        foreach (ClaimSet claimset in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
        {
            foreach (Claim claim in claimset)
            {
                // Write out each claim type, claim value, and the right. There are two
                // possible values for the right: "identity" and "possessproperty". 
                sw.WriteLine("Claim Type = {0}", claim.ClaimType);
                sw.WriteLine("\t Resource = {0}", claim.Resource.ToString());
                sw.WriteLine("\t Right = {0}", claim.Right);
            }
        }
    }
}

' Run this method from within a method protected by the PrincipalPermissionAttribute
' to see the security context data, including the primary identity.
Public Sub WriteServiceSecurityContextData(ByVal fileName As String)
    Dim sw As New StreamWriter(fileName)
    Try
        ' Write the primary identity and Windows identity. The primary identity is derived from the
        ' the credentials used to authenticate the user. The Windows identity may be a null string.
        sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name)
        sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name)
        sw.WriteLine()
        ' Write the claimsets in the authorization context. By default, there is only one claimset
        ' provided by the system. 
        Dim claimset As ClaimSet
        For Each claimset In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
            Dim claim As Claim
            For Each claim In claimset
                ' Write out each claim type, claim value, and the right. There are two
                ' possible values for the right: "identity" and "possessproperty". 
                sw.WriteLine("Claim Type = {0}", claim.ClaimType)
                sw.WriteLine(vbTab + " Resource = {0}", claim.Resource.ToString())
                sw.WriteLine(vbTab + " Right = {0}", claim.Right)
            Next claim
        Next claimset
    Finally
        sw.Dispose()
    End Try

End Sub

Комментарии

Модель удостоверения — это система авторизации, основанная на утверждениях.The Identity Model is a claims-based authorization system. Утверждения описывают возможности, связанные с некоторой сущностью в системе, часто с пользователем этой системы.Claims describe the capabilities associated with some entity in the system, often a user of that system. Ряд утверждений, связанных с заданной сущностью, можно считать ключом.The set of claims associated with a given entity can be thought of as a key. Конкретные утверждения определяют форму этого ключа, подобно тому, как физический ключ используется для открывания замка двери.The particular claims define the shape of that key; much like a physical key is used to open a lock in a door. Таким образом, утверждения используются для получения доступа к ресурсам.In this way, claims are used to gain access to resources. Доступ к заданному защищенному ресурсу определяется сравнением утверждений, необходимых для доступа к этому ресурсу, с утверждениями, связанными с сущностью, пытающейся получить доступ.Access to a given protected resource is determined by comparing the claims required to access that resource with the claims associated with the entity that attempts access.

Утверждение - это выражение права в отношении конкретного значения.A claim is the expression of a right with respect to a particular value. Правом может быть "Read", "Write" или "Possess".A right could be read, write, or possess. Значением может быть база данных, файл, почтовый ящик или свойство.A value could be a database, a file, a mailbox, or a property. Утверждения также имеют тип утверждения.Claims also have a claim type. Сочетание типа утверждения и права обеспечивает механизм задания возможностей в отношении значения.The combination of claim type and right provides the mechanism for capabilities being specified with respect to the value. Например, утверждение типа file с правом read на значение biography.doc указывает, что сущность с таким утверждением имеет доступ на чтение к файлу biography.doc. Утверждение с именем типа "Name" с правом PossessProperty на значение Martin указывает, что сущность с таким утверждением обладает свойством Name со значением Martin.For example, a claim of type file with the right read over the value biography.doc indicates that the entity with such a claim has read access to the file biography.doc. A claim of type name with the right PossessProperty over the value Martin indicates that the entity with the claim possesses a Name property with the value Martin.

Хотя различные типы утверждений и прав определяются как часть модели удостоверения, система является расширяемой.Although various claim types and rights are defined as part of Identity Model, the system is extensible. Различные системы, создаваемые в дополнение к инфраструктуре модели удостоверения, могут определять дополнительные типы утверждений и прав согласно необходимости.The various systems building on top of the Identity Model infrastructure can define claim types and rights as required.

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

Claim(String, Object, String)

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

Свойства

ClaimType

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

DefaultComparer

Возвращает объект, с помощью которого можно проверить равенство двух объектов Claim.Gets an object that can compare two Claim objects for equality.

Resource

Возвращает ресурс, с которым связан этот объект Claim.Gets the resource with which this Claim object is associated.

Right

Строка, представляющая универсальный код ресурса (URI), указывающий право, связанное с этим объектом Claim.A string representation of a uniform resource identifier (URI) that specifies the right associated with this Claim object. Заранее определенные права доступны в виде статических свойств класса Rights.Pre-defined rights are available as static properties of the Rights class.

System

Заранее определенное утверждение, представляющее системную сущность.A pre-defined claim that represents the system entity.

Методы

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Создает объект Claim, представляющий указанный идентификатор безопасности (SID) "только запрет".Creates a Claim object that represents a deny-only specified security identifier (SID).

CreateDnsClaim(String)

Создает объект Claim, представляющий указанное имя службы доменных имен (DNS-имя).Creates a Claim object that represents the specified Domain Name System (DNS) name.

CreateHashClaim(Byte[])

Создает объект Claim, представляющий указанное значение хэша.Creates a Claim object that represents the specified hash value.

CreateMailAddressClaim(MailAddress)

Создает объект Claim, представляющий указанный адрес электронной почты.Creates a Claim object that represents the specified email address.

CreateNameClaim(String)

Создает объект Claim, представляющий указанное имя.Creates a Claim object that represents the specified name.

CreateRsaClaim(RSA)

Создает объект Claim, представляющий указанный ключ RSA.Creates a Claim object that represents the specified RSA key.

CreateSpnClaim(String)

Создает объект Claim, представляющий указанное имя участника-службы (SPN).Creates a Claim object that represents the specified Service Principal Name (SPN).

CreateThumbprintClaim(Byte[])

Создает объект Claim, представляющий указанный отпечаток.Creates a Claim object that represents the specified thumbprint.

CreateUpnClaim(String)

Создает объект Claim, представляющий указанное имя участника-пользователя (UPN).Creates a Claim object that represents the specified Universal Principal Name (UPN).

CreateUriClaim(Uri)

Создает объект Claim, представляющий указанный URL-адрес.Creates a Claim object that represents the specified Uniform Resource Locator (URL).

CreateWindowsSidClaim(SecurityIdentifier)

Создает объект Claim, представляющий указанный идентификатор безопасности (SID).Creates a Claim object that represents the specified security identifier (SID).

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Создает объект Claim, представляющий указанное различающееся имя X.500.Creates a Claim object that represents the specified X.500 distinguished name.

Equals(Object)

Определяет, представляет ли указанный объект то же утверждение, что и текущий объект Claim.Determines whether the specified object represents the same claim as the current Claim object.

GetHashCode()

Возвращает хэш-код для текущего утверждения.Returns a hash code for the current claim.

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.

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