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. |