ClaimSet Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Auflistung von Ansprüchen dar, die einer Entität zugeordnet sind.
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)
- Vererbung
-
ClaimSet
- Abgeleitet
- Attribute
- Implementiert
Beispiele
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
Hinweise
Nachdem die ClaimSet Klasse erstellt wurde, kann sie nicht mehr geändert werden.
Bei der Verwendung der anspruchbasierten Autorisierung muss häufig der Inhalt eines ClaimSet für bestimmte Anspruchstypen überprüft werden. Verwenden Sie die ClaimSet-Methode, um FindClaims auf das Vorhandensein eines bestimmten Anspruchs zu überprüfen. Die Methode bietet eine bessere Leistung als das direkte Durchlaufen über die ClaimSet.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ClaimSet() |
Initialisiert eine neue Instanz der ClaimSet-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Count |
Beim Überschreiben in einer abgeleiteten Klasse ruft die Anzahl der Ansprüche in diesem Anspruchssatz ab. |
| Issuer |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, ruft die Entität ab, die dieses ClaimSetObjekt ausgegeben hat. |
| Item[Int32] |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, ruft sie den Claim angegebenen Index ab. |
| System |
Ruft ein ClaimSet Objekt ab, das einen vertrauenswürdigen Anwendungsherausgeber darstellt. |
| Windows |
Ruft einen Satz von Ansprüchen ab, der Windows-Sicherheitsbezeichner enthält. |
Methoden
| Name | Beschreibung |
|---|---|
| ContainsClaim(Claim, IEqualityComparer<Claim>) |
Bestimmt, ob das ClaimSet angegebene Objekt das angegebene ClaimIEqualityComparer<T> Objekt enthält. |
| ContainsClaim(Claim) | |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FindClaims(String, String) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird nach einem Claim Objekt gesucht, das mit dem angegebenen Anspruchstyp und den angegebenen Rechten in der ClaimSet. |
| GetEnumerator() |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, wird ein IEnumerator<T> Objekt abgerufen, das zum Aufzählen des Objekts in der ClaimClaimSet. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IEnumerable.GetEnumerator() |
Ruft ein IEnumerator<T> , das zum Aufzählen des Objekts in der ClaimClaimSet. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Wandelt eine IEnumerable<T> in eine IAsyncEnumerable<T>um. |
| ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Erstellt eine FrozenDictionary<TKey,TValue> aus einer IEnumerable<T> gemäß den angegebenen Schlüsselauswahl- und Elementauswahlfunktionen. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Erstellt eine FrozenDictionary<TKey,TValue> aus einer IEnumerable<T> bestimmten Schlüsselauswahlfunktion. |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Erstellt eine FrozenSet<T> mit den angegebenen Werten. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Erstellt ein unveränderliches Array aus der angegebenen Auflistung. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches Wörterbuch seiner Inhalte mithilfe des angegebenen Schlüssel- und Wertabgleichs. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches Wörterbuch seiner Inhalte mithilfe des angegebenen Schlüsselabgleichs. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches Wörterbuch seiner Inhalte. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Erstellt ein unveränderliches Wörterbuch basierend auf einer Transformation einer Sequenz. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Erstellt ein unveränderliches Wörterbuch aus einer vorhandenen Auflistung von Elementen, wobei eine Transformationsfunktion auf die Quellschlüssel angewendet wird. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Listet eine Sequenz auf, erzeugt einen unveränderlichen Hashsatz seines Inhalts und verwendet den angegebenen Gleichheitsabgleich für den Settyp. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Listet eine Sequenz auf und erzeugt einen unveränderlichen Hashsatz seiner Inhalte. |
| ToImmutableList<TSource>(IEnumerable<TSource>) |
Listet eine Sequenz auf und erzeugt eine unveränderliche Liste seiner Inhalte. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches sortiertes Wörterbuch seiner Inhalte mithilfe des angegebenen Schlüssel- und Wertabgleichs. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches sortiertes Wörterbuch seiner Inhalte mithilfe des angegebenen Schlüsselabgleichs. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumeiert und transformiert eine Sequenz und erzeugt ein unveränderliches sortiertes Wörterbuch seiner Inhalte. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Listet eine Sequenz auf, erzeugt einen unveränderlichen sortierten Satz seines Inhalts und verwendet den angegebenen Vergleich. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Listet eine Sequenz auf und erzeugt einen unveränderlichen sortierten Satz seiner Inhalte. |