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


Claim Класс

Определение

Представляет утверждение, связанное с сущностью.

public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
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

Комментарии

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

Утверждение - это выражение права в отношении конкретного значения. Правом может быть "Read", "Write" или "Possess". Значением может быть база данных, файл, почтовый ящик или свойство. Утверждения также имеют тип утверждения. Сочетание типа утверждения и права обеспечивает механизм задания возможностей в отношении значения. Например, утверждение типа file с правом read на значение biography.doc указывает, что сущность с таким утверждением имеет доступ на чтение к файлу biography.doc. Утверждение с именем типа "Name" с правом PossessProperty на значение Martin указывает, что сущность с таким утверждением обладает свойством Name со значением Martin.

Хотя различные типы утверждений и прав определяются как часть модели удостоверения, система является расширяемой. Различные системы, создаваемые в дополнение к инфраструктуре модели удостоверения, могут определять дополнительные типы утверждений и прав согласно необходимости.

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

Claim(String, Object, String)

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

Свойства

ClaimType

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

DefaultComparer

Возвращает объект, с помощью которого можно проверить равенство двух объектов Claim.

Resource

Возвращает ресурс, с которым связан этот объект Claim.

Right

Строка, представляющая универсальный код ресурса (URI), указывающий право, связанное с этим объектом Claim. Заранее определенные права доступны в виде статических свойств класса Rights.

System

Заранее определенное утверждение, представляющее системную сущность.

Методы

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Создает объект Claim, представляющий указанный идентификатор безопасности (SID) "только запрет".

CreateDnsClaim(String)

Создает объект Claim, представляющий указанное имя службы доменных имен (DNS-имя).

CreateHashClaim(Byte[])

Создает объект Claim, представляющий указанное значение хэша.

CreateMailAddressClaim(MailAddress)

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

CreateNameClaim(String)

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

CreateRsaClaim(RSA)

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

CreateSpnClaim(String)

Создает объект Claim, представляющий указанное имя участника-службы (SPN).

CreateThumbprintClaim(Byte[])

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

CreateUpnClaim(String)

Создает объект Claim, представляющий указанное имя участника-пользователя (UPN).

CreateUriClaim(Uri)

Создает объект Claim, представляющий указанный URL-адрес.

CreateWindowsSidClaim(SecurityIdentifier)

Создает объект Claim, представляющий указанный идентификатор безопасности (SID).

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Создает объект Claim, представляющий указанное различающееся имя X.500.

Equals(Object)

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

GetHashCode()

Возвращает хэш-код для текущего утверждения.

GetType()

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

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

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

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

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

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