ClaimSet Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет коллекцию утверждений, связанных с сущностью.
public ref class ClaimSet abstract : System::Collections::Generic::IEnumerable<System::IdentityModel::Claims::Claim ^>
public abstract class ClaimSet : System.Collections.Generic.IEnumerable<System.IdentityModel.Claims.Claim>
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public abstract class ClaimSet : System.Collections.Generic.IEnumerable<System.IdentityModel.Claims.Claim>
type ClaimSet = class
interface seq<Claim>
interface IEnumerable
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type ClaimSet = class
interface seq<Claim>
interface IEnumerable
Public MustInherit Class ClaimSet
Implements IEnumerable(Of Claim)
- Наследование
-
ClaimSet
- Производный
- Атрибуты
- Реализации
Примеры
public class MyServiceAuthorizationManager : ServiceAuthorizationManager
{
protected override bool CheckAccessCore(OperationContext operationContext)
{
// Extract the action URI from the OperationContext. Match this against the claims
// in the AuthorizationContext.
string action = operationContext.RequestContext.RequestMessage.Headers.Action;
Console.WriteLine("action: {0}", action);
// Iterate through the various claim sets in the AuthorizationContext.
foreach (ClaimSet cs in operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets)
{
// Examine only those claim sets issued by System.
if (cs.Issuer == ClaimSet.System)
{
// Iterate through claims of type "http://example.org/claims/allowedoperation".
foreach (Claim c in cs.FindClaims("http://example.org/claims/allowedoperation",
Rights.PossessProperty))
{
// Write the claim resource to the console.
Console.WriteLine("resource: {0}", c.Resource.ToString());
// If the claim resource matches the action URI then return true to allow access.
if (action == c.Resource.ToString())
return true;
}
}
}
// If this point is reached, return false to deny access.
return false;
}
}
Public Class MyServiceAuthorizationManager
Inherits ServiceAuthorizationManager
Protected Overrides Function CheckAccessCore(ByVal operationContext As OperationContext) As Boolean
' Extract the action URI from the OperationContext. Match this against the claims
' in the AuthorizationContext.
Dim action As String = operationContext.RequestContext.RequestMessage.Headers.Action
Console.WriteLine("action: {0}", action)
' Iterate through the various claim sets in the AuthorizationContext.
Dim cs As ClaimSet
For Each cs In operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets
' Examine only those claim sets issued by System.
If cs.Issuer Is ClaimSet.System Then
' Iterate through claims of type "http://example.org/claims/allowedoperation".
Dim c As Claim
For Each c In cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty)
' Write the claim resource to the console.
Console.WriteLine("resource: {0}", c.Resource.ToString())
' If the claim resource matches the action URI then return true to allow access
If action = c.Resource.ToString() Then
Return True
End If
Next c
End If
Next cs
'
' If this point is reached, return false to deny access.
Return False
End Function
Комментарии
ClaimSet После создания класса его нельзя изменить.
Изучение содержимого определенных ClaimSet типов утверждений является общей задачей при использовании авторизации на основе утверждений. Чтобы проверить наличие определенных утверждений в ClaimSet, используйте метод FindClaims. Метод обеспечивает лучшую производительность, чем итерацию непосредственно над ClaimSet.
Конструкторы
| Имя | Описание |
|---|---|
| ClaimSet() |
Инициализирует новый экземпляр класса ClaimSet. |
Свойства
| Имя | Описание |
|---|---|
| Count |
При переопределении в производном классе получает количество утверждений в этом наборе утверждений. |
| Issuer |
При переопределении в производном классе получает сущность, выданную этим ClaimSet. |
| Item[Int32] |
При переопределении в производном классе получает Claim значение для указанного индекса. |
| System |
ClaimSet Возвращает объект, представляющий доверенного издателя приложения. |
| Windows |
Возвращает набор утверждений, содержащих идентификаторы безопасности Windows. |
Методы
| Имя | Описание |
|---|---|
| ContainsClaim(Claim, IEqualityComparer<Claim>) |
Определяет, содержит ли ClaimSet указанный Claimобъект с помощью указанного IEqualityComparer<T> объекта. |
| ContainsClaim(Claim) | |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FindClaims(String, String) |
При переопределении в производном классе выполняет поиск Claim объекта, соответствующего указанному типу утверждений и правам в объекте ClaimSet. |
| GetEnumerator() |
При переопределении в производном классе получает IEnumerator<T> объект, который можно использовать для перечисления Claim объекта в производном ClaimSetклассе. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IEnumerable.GetEnumerator() |
Возвращает объект IEnumerator<T> , который можно использовать для перечисления Claim объекта в объекте ClaimSet. |
Методы расширения
| Имя | Описание |
|---|---|
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Преобразует IEnumerable<T> в IAsyncEnumerable<T>. |
| ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Создает FrozenDictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанными функциями селектора ключей и селектора элементов. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает из FrozenDictionary<TKey,TValue> указанной функции селектора ключей IEnumerable<T> . |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Создает объект FrozenSet<T> с указанными значениями. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Создает неизменяемый массив из указанной коллекции. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого с помощью указанных средств сравнения ключей и значений. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого с помощью указанного средства сравнения ключей. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает неизменяемый словарь на основе некоторого преобразования последовательности. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает неизменяемый словарь из существующей коллекции элементов, применяя функцию преобразования к исходным ключам. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Перечисляет последовательность, создает неизменяемый хэш-набор его содержимого и использует указанный средство сравнения равенства для типа набора. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый хэш-набор его содержимого. |
| ToImmutableList<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый список его содержимого. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого с помощью указанных средств сравнения ключей и значений. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого с помощью указанного средства сравнения ключей. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Перечисляет последовательность, создает неизменяемый отсортированный набор его содержимого и использует указанный сопоставитель. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый отсортированный набор его содержимого. |