Språk

ClaimSet Klass

Definition

Representerar den samling anspråk som är associerade med en entitet.

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)
Arv
ClaimSet
Härledda
Attribut
Implementeringar

Exempel

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

Kommentarer

När klassen har skapats kan den ClaimSet inte ändras.

Att undersöka innehållet i en ClaimSet för vissa typer av anspråk är en vanlig uppgift när du använder anspråksbaserad auktorisering. För att undersöka ett ClaimSet för förekomsten av vissa anspråk, använd FindClaims-metoden. Metoden ger bättre prestanda än att iterera direkt över ClaimSet.

Konstruktorer

Name Description
ClaimSet()

Initierar en ny instans av ClaimSet klassen.

Egenskaper

Name Description
Count

När du åsidosättas i en härledd klass hämtar du antalet anspråk i den här anspråksuppsättningen.

Issuer

När den åsidosätts i en härledd klass hämtar den entitet som utfärdade den här ClaimSet.

Item[Int32]

När åsidosättas i en härledd klass hämtar du Claim för det angivna indexet.

System

Hämtar ett ClaimSet objekt som representerar en betrodd utfärdare av program.

Windows

Hämtar en uppsättning anspråk som innehåller Windows säkerhetsidentifierare.

Metoder

Name Description
ContainsClaim(Claim, IEqualityComparer<Claim>)

Avgör om innehåller det ClaimSet angivna Claimmed hjälp av det angivna IEqualityComparer<T> objektet.

ContainsClaim(Claim)

Avgör om ClaimSet innehåller den angivna Claim.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FindClaims(String, String)

När det åsidosätts i en härledd klass söker du efter ett Claim objekt som matchar den angivna anspråkstypen och rättigheterna i ClaimSet.

GetEnumerator()

När det åsidosätts i en härledd klass hämtar en IEnumerator<T> som kan användas för att räkna upp Claim objektet i ClaimSet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IEnumerable.GetEnumerator()

Hämtar en IEnumerator<T> som kan användas för att räkna upp Claim objektet i ClaimSet.

Tilläggsmetoder

Name Description
ToAsyncEnumerable<TSource>(IEnumerable<TSource>)

Konverterar en IEnumerable<T> till en IAsyncEnumerable<T>.

ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Skapar en FrozenDictionary<TKey,TValue> från en IEnumerable<T> enligt angivna funktioner för nyckelväljare och elementväljare.

ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Skapar en FrozenDictionary<TKey,TValue> från en IEnumerable<T> enligt angiven nyckelväljare.

ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Skapar en FrozenSet<T> med de angivna värdena.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Skapar en oföränderlig matris från den angivna samlingen.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig ordlista med dess innehåll med hjälp av de angivna nyckel- och värdejäxorna.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig ordlista med dess innehåll med hjälp av den angivna nyckeljäxaren.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig ordlista med dess innehåll.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Konstruerar en oföränderlig ordlista baserat på en viss omvandling av en sekvens.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Konstruerar en oföränderlig ordlista från en befintlig samling element och tillämpar en transformeringsfunktion på källnycklarna.

ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Räknar upp en sekvens, skapar en oföränderlig hashuppsättning av innehållet och använder den angivna likhetsjämföraren för den angivna typen.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Räknar upp en sekvens och skapar en oföränderlig hashuppsättning med dess innehåll.

ToImmutableList<TSource>(IEnumerable<TSource>)

Räknar upp en sekvens och skapar en oföränderlig lista över dess innehåll.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig sorterad ordlista med dess innehåll med hjälp av de angivna nyckel- och värdejäxorna.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig sorterad ordlista med dess innehåll med hjälp av den angivna nyckeljäxaren.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Räknar upp och transformerar en sekvens och skapar en oföränderlig sorterad ordlista med dess innehåll.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Räknar upp en sekvens, skapar en oföränderlig sorterad uppsättning av dess innehåll och använder den angivna jämförelsen.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Räknar upp en sekvens och skapar en oföränderlig sorterad uppsättning av dess innehåll.

Gäller för