Claim 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 einen Anspruch dar.
public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
- Vererbung
-
Claim
- Attribute
Beispiele
Im folgenden Beispiel werden die Ansprüche extrahiert, die dem authentifizierten Benutzer zugeordnet sind, der eine HTTP-Anforderung ausführt, und schreibt sie in die HTTP-Antwort. Der aktuelle Benutzer wird aus dem HttpContext As a ClaimsPrincipal gelesen, und die Ansprüche werden daraus gelesen. Die Ansprüche werden dann in das HttpResponse Objekt geschrieben.
ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
if (null != principal)
{
foreach (Claim claim in principal.Claims)
{
Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");
}
}
Hinweise
Ein Anspruch ist eine Aussage über ein Thema eines Ausstellers. Ansprüche stellen Attribute des Betreffs dar, die im Kontext von Authentifizierungs- und Autorisierungsvorgängen nützlich sind. Themen und Aussteller sind beide Entitäten, die Teil eines Identitätsszenarios sind. Einige typische Beispiele für einen Betreff sind: ein Benutzer, eine Anwendung oder ein Dienst, ein Gerät oder ein Computer. Einige typische Beispiele für einen Aussteller sind: das Betriebssystem, eine Anwendung, ein Dienst, ein Rollenanbieter, ein Identitätsanbieter oder ein Verbundanbieter. Ein Aussteller liefert Ansprüche, indem Sicherheitstoken ausgegeben werden, in der Regel über einen Sicherheitstokendienst (Security Token Service, STS). Gelegentlich kann die Sammlung von Ansprüchen, die von einem Aussteller erhalten wurden, durch Betreffattribute erweitert werden, die direkt an der Ressource gespeichert sind. Ein Anspruch kann ausgewertet werden, um die Zugriffsrechte für Daten und andere gesicherte Ressourcen während des Autorisierungsprozesses zu bestimmen, und kann auch verwendet werden, um Authentifizierungsentscheidungen über einen Betreff zu treffen oder auszudrücken.
Ab .NET Framework 4.5 wurden die Windows Identity Foundation (WIF)-Klassen, die anspruchsbasierte Identität implementieren, vollständig in .NET Framework integriert. Das Anspruchskonzept wird von der Claim Klasse implementiert.
Im Folgenden werden wichtige Eigenschaften der Claim Klasse beschrieben:
Die Type Eigenschaft ist eine Zeichenfolge (in der Regel ein URI), die die semantischen Informationen zum Anspruch enthält. Sie teilt Ihnen mit, was der Wert des Anspruchs bedeutet. Ein Anspruch mit einem Anspruchstyp (GivenName
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") stellt z. B. den Vornamen eines Benutzers dar. Der Wert der Type Eigenschaft kann eine der bekannten Anspruchstypen sein, die in der ClaimTypes Klasse definiert sind, oder es kann sich um einen beliebigen URI handeln, der vom Aussteller definiert wird. Beispielsweise kann ein Anspruchstyp "urn:spendinglimit" ein Benutzerattribute darstellen, das im Geschäftskontext des Ausstellers sinnvoll ist.Die Value Eigenschaft enthält den Wert des Anspruchs. Um Abhängigkeiten zu reduzieren und die Verwaltung zu vereinfachen, wird in WIF der Wert eines Anspruchs nur als Zeichenfolge dargestellt. Für komplexere Werttypen wird empfohlen, standard-XML-Schematypen zu verwenden, um anzugeben, wie der Wert in eine Zeichenfolge serialisiert und deserialisiert werden soll.
Die ValueType Eigenschaft enthält eine Zeichenfolge, die die Typinformationen für den Wert identifiziert. Diese Eigenschaft sollte verwendet werden, um das Format des Werts zu verstehen und Informationen zur Deserialisierung bereitzustellen. Wenn Ihre Lösung komplexe Werttypen erfordert, empfiehlt es sich, Standard-XML-Schematypen in der ValueType Eigenschaft zu verwenden, um anzugeben, wie die Value Eigenschaft in eine Zeichenfolge serialisiert und deserialisiert werden soll.
Die Subject Eigenschaft ist ein ClaimsIdentity Objekt, das den Betreff des Anspruchs darstellt. Der Betreff des Anspruchs ist die Entität (in der Regel der Benutzer, der Zugriff auf eine Ressource anfordert), über die der Anspruch geltend gemacht wird. Das ClaimsIdentity enthält unter seinen Eigenschaften eine Sammlung von Ansprüchen, die die Eigenschaften und Attribute des Betreffs beschreiben, die von einem oder mehreren Ausstellern bestätigt werden.
Die Issuer Eigenschaft enthält den Namen der Entität, die den Anspruch ausgestellt hat. Der Aussteller eines Anspruchs wird in WIF durch eine Zeichenfolge dargestellt, die einen Namen aus einer Liste bekannter Aussteller enthält, die von der Registrierung des Ausstellernamens verwaltet werden. Die Ausstellernamenregistrierung ist eine Instanz einer Klasse, die von der IssuerNameRegistry Klasse abgeleitet wird. Die Ausstellernamenregistrierung ordnet dem kryptografischen Material einen Mnemonic-Namen zu, das erforderlich ist, um die Signaturen von Token zu überprüfen, die vom entsprechenden Aussteller erstellt wurden. Die Klasse, die ConfigurationBasedIssuerNameRegistry standardmäßig mit .NET 4.5 verfügbar ist, ordnet den mnemonic-Namen jedem Aussteller mit seinem entsprechenden X.509-Zertifikat zu. Die Liste der bekannten Aussteller wird in der Regel zur Startzeit durch die Ausstellernamenregistrierung erstellt. Die von der ConfigurationBasedIssuerNameRegistry Anwendung verwendete Liste wird in der Anwendungskonfigurationsdatei angegeben.
Die OriginalIssuer Eigenschaft enthält den Namen der Entität, die ursprünglich den Anspruch ausgestellt hat. Diese Eigenschaft wurde entwickelt, um Szenarien zu erleichtern, in denen ein Anspruch mehrere Aussteller durchlaufen kann, bevor er vom Client an die RP-Anwendung übergeben wird; z. B. Verbundszenarien. Sie können die OriginalIssuer Eigenschaft untersuchen, um die Entität zu ermitteln, die ursprünglich den Anspruch ausgestellt hat. Der Name stammt aus der Liste der bekannten Aussteller, die von der Ausstellernamenregistrierung verwaltet werden, wie bei der Issuer Eigenschaft.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Claim(BinaryReader, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Reader und Betreff. |
| Claim(BinaryReader) |
Initialisiert eine Instanz mit Claim dem angegebenen BinaryReader. |
| Claim(Claim, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Sicherheitsanspruch und -betreff. |
| Claim(Claim) |
Initialisiert eine neue Instanz der Claim-Klasse. |
| Claim(String, String, String, String, String, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Anspruchstyp, Wert, Werttyp, Aussteller, ursprünglichem Aussteller und Betreff. |
| Claim(String, String, String, String, String) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Anspruchstyp, Wert, Werttyp, Aussteller und ursprünglichem Aussteller. |
| Claim(String, String, String, String) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Anspruchstyp, Wert, Werttyp und Aussteller. |
| Claim(String, String, String) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Anspruchstyp, Wert und Werttyp. |
| Claim(String, String) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Anspruchstyp und Wert. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CustomSerializationData |
Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden. |
| Issuer |
Ruft den Aussteller des Anspruchs ab. |
| OriginalIssuer |
Ruft den ursprünglichen Aussteller des Anspruchs ab. |
| Properties |
Ruft ein Wörterbuch ab, das zusätzliche Eigenschaften enthält, die diesem Anspruch zugeordnet sind. |
| Subject |
Ruft den Betreff des Anspruchs ab. |
| Type |
Ruft den Anspruchstyp des Anspruchs ab. |
| Value |
Ruft den Wert des Anspruchs ab. |
| ValueType |
Ruft den Werttyp des Anspruchs ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Gibt ein neues Claim Objekt zurück, das aus diesem Objekt kopiert wurde. Der neue Anspruch hat keinen Betreff. |
| Clone(ClaimsIdentity) |
Gibt ein neues Claim Objekt zurück, das aus diesem Objekt kopiert wurde. Der Betreff des neuen Anspruchs wird auf die angegebene ClaimsIdentity festgelegt. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| 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 Zeichenfolgendarstellung dieses Claim Objekts zurück. |
| WriteTo(BinaryWriter, Byte[]) |
Schreibt dies Claim an den Autor. |
| WriteTo(BinaryWriter) |
Schreibt dies Claim an den Autor. |