ClaimSet Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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) | |
| 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. |