Claim Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет утверждение, связанное с сущностью.
public ref class Claim
public class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
type Claim = class
[<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
Комментарии
Модель идентификации — это система авторизации на основе утверждений. Утверждения описывают возможности, связанные с какой-либо сущностью в системе, которые часто связаны с пользователем этой системы. Набор утверждений, связанных с данной сущностью, можно рассматривать как ключ. Конкретные утверждения определяют форму этого ключа; как и физический ключ, используется для открытия замки в двери. Таким образом, утверждения используются для получения доступа к ресурсам. Доступ к указанному защищенному ресурсу определяется путем сравнения утверждений, необходимых для доступа к данному ресурсу, с утверждениями, связанными с сущностью, которая пытается получить доступ.
Утверждение — это выражение права относительно определенного значения. Право может быть прочитано, написать или обладать. Значение может быть базой данных, файлом, почтовым ящиком или свойством. Утверждения также имеют тип утверждения. Сочетание типа утверждения и право предоставляет механизм для указанных возможностей в отношении значения. Например, утверждение типа file справа read над значением biography.doc указывает, что сущность с таким утверждением имеет доступ на чтение к файлу biography.doc. Утверждение типа с правом PossessProperty над значением Martin указывает, что сущность с утверждением обладает Name свойством со значением Martin.
Хотя различные типы утверждений и права определяются как часть модели идентификации, система расширяема. Различные системы, которые создаются на основе инфраструктуры модели удостоверений, могут определять типы утверждений и права по мере необходимости.
Конструкторы
| Имя | Описание |
|---|---|
| Claim(String, Object, String) |
Инициализирует новый экземпляр Claim класса с указанным типом, ресурсом и правом. |
Свойства
| Имя | Описание |
|---|---|
| ClaimType |
Возвращает тип утверждения. |
| DefaultComparer |
Возвращает объект, который может сравнить два Claim объекта для равенства. |
| Resource |
Возвращает ресурс, с которым связан этот Claim объект. |
| Right |
Строковое представление универсального идентификатора ресурса (URI), указывающего право, связанное с этим Claim объектом. Предварительно определенные права доступны как статические свойства Rights класса. |
| System |
Предварительно определенное утверждение, представляющее системную сущность. |
Методы
| Имя | Описание |
|---|---|
| CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Claim Создает объект, представляющий идентификатор безопасности, доступный только для запрета. |
| 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. |