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)

Определяет, содержит ли ClaimSet указанный объект 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>)

Перечисляет последовательность и создает неизменяемый отсортированный набор его содержимого.

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