ClaimSet Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta la raccolta di attestazioni associate a un'entità.
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)
- Ereditarietà
-
ClaimSet
- Derivato
- Attributi
- Implementazioni
Esempio
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
Commenti
Dopo aver creato la ClaimSet classe, non può essere modificata.
L'analisi del contenuto di un ClaimSet per particolari tipi di attestazioni è un'attività comune quando si utilizza l'autorizzazione basata su attestazioni. Per esaminare un ClaimSet per la presenza di attestazioni specifiche, usare il metodo FindClaims. Il metodo offre prestazioni migliori rispetto all'iterazione ClaimSetdiretta su .
Costruttori
| Nome | Descrizione |
|---|---|
| ClaimSet() |
Inizializza una nuova istanza della classe ClaimSet. |
Proprietà
| Nome | Descrizione |
|---|---|
| Count |
Quando sottoposto a override in una classe derivata, ottiene il numero di attestazioni in questo set di attestazioni. |
| Issuer |
In caso di override in una classe derivata, ottiene l'entità che ha emesso questo ClaimSetoggetto . |
| Item[Int32] |
In caso di override in una classe derivata, ottiene l'oggetto Claim per l'indice specificato. |
| System |
Ottiene un ClaimSet oggetto che rappresenta un'autorità di certificazione attendibile dell'applicazione. |
| Windows |
Ottiene un set di attestazioni che contiene gli identificatori di sicurezza di Windows. |
Metodi
| Nome | Descrizione |
|---|---|
| ContainsClaim(Claim, IEqualityComparer<Claim>) |
Determina se contiene l'oggetto ClaimSet specificato Claimutilizzando l'oggetto specificato IEqualityComparer<T> . |
| ContainsClaim(Claim) | |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| FindClaims(String, String) |
Quando sottoposto a override in una classe derivata, cerca un Claim oggetto che corrisponde al tipo di attestazione e ai diritti specificati in ClaimSet. |
| GetEnumerator() |
In caso di override in una classe derivata, ottiene un IEnumerator<T> oggetto che può essere utilizzato per enumerare l'oggetto Claim nell'oggetto ClaimSet. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IEnumerable.GetEnumerator() |
Ottiene un oggetto IEnumerator<T> che può essere utilizzato per enumerare l'oggetto Claim nell'oggetto ClaimSet. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Converte un IEnumerable<T> in un IAsyncEnumerable<T>. |
| ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Crea un FrozenDictionary<TKey,TValue> da un IEnumerable<T> in base ai selettori di chiave e alle funzioni del selettore di elementi specificati. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Crea un oggetto FrozenDictionary<TKey,TValue> da un oggetto IEnumerable<T> in base alla funzione del selettore di chiave specificata. |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Crea un oggetto FrozenSet<T> con i valori specificati. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Crea una matrice non modificabile dalla raccolta specificata. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto usando gli strumenti di confronto chiave e valore specificati. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto usando l'operatore di confronto di chiavi specificato. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Costruisce un dizionario non modificabile in base a una trasformazione di una sequenza. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Costruisce un dizionario non modificabile da una raccolta esistente di elementi, applicando una funzione di trasformazione alle chiavi di origine. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Enumera una sequenza, produce un set di hash non modificabile del relativo contenuto e usa l'operatore di confronto di uguaglianza specificato per il tipo di set. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Enumera una sequenza e produce un set di hash non modificabile del relativo contenuto. |
| ToImmutableList<TSource>(IEnumerable<TSource>) |
Enumera una sequenza e produce un elenco non modificabile del relativo contenuto. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto usando gli strumenti di confronto chiave e valore specificati. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto usando l'operatore di confronto di chiavi specificato. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Enumera una sequenza, produce un set ordinato non modificabile del relativo contenuto e usa l'operatore di confronto specificato. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Enumera una sequenza e produce un set ordinato non modificabile del relativo contenuto. |