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 als 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 eines Ausstellers über einen Antragsteller. Ansprüche stellen Attribute des Antragstellers dar, die im Kontext von Authentifizierungs- und Autorisierungsvorgängen nützlich sind. Subjekte und Aussteller sind Entitäten, die Teil eines Identitätsszenarios sind. Einige typische Beispiele für einen Antragsteller 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 stellt Ansprüche durch Ausstellen von Sicherheitstoken bereit, in der Regel über einen Sicherheitstokendienst (Security Token Service, STS). (In WIF können Sie einen STS erstellen, indem Sie von der SecurityTokenService -Klasse abgeleitet werden.) Gelegentlich kann die Sammlung von Ansprüchen, die von einem Aussteller erhalten wurden, um Antragstellerattribute erweitert werden, die direkt an der Ressource gespeichert sind. Ein Anspruch kann ausgewertet werden, um die Zugriffsrechte auf Daten und andere gesicherte Ressourcen während des Autorisierungsprozesses zu bestimmen, und kann auch verwendet werden, um Authentifizierungsentscheidungen über einen Antragsteller zu treffen oder auszudrücken.
Ab .NET 4.5 wurden die Windows Identity Foundation -Klassen (WIF), die anspruchsbasierte Identität implementieren, vollständig in die .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 gibt an, was der Wert des Anspruchs bedeutet. Ein Anspruch mit dem Anspruchstyp GivenName (
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
) stellt beispielsweise den Vornamen eines Benutzers dar. Der Wert der Type -Eigenschaft kann einer 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 empfiehlt es sich, standardmäßige 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 Antragsteller des Anspruchs ist die Entität (in der Regel der Benutzer, der zugriff auf eine Ressource anfordert), für die der Anspruch geltend gemacht wird. Enthält ClaimsIdentity unter seinen Eigenschaften eine Auflistung von Ansprüchen, die die Eigenschaften und Attribute des Antragstellers beschreiben, wie von einem oder mehreren Ausstellern nachgewiesen.
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 enthält, der aus einer Liste bekannter Aussteller stammt, die von der Ausstellernamenregistrierung verwaltet wird. Die Ausstellernamenregistrierung ist eine instance einer Klasse, die von der IssuerNameRegistry -Klasse abgeleitet ist. Die Ausstellernamenregistrierung ordnet einen mnemonischen Namen dem kryptografischen Material zu, das zum Überprüfen der Signaturen der vom entsprechenden Aussteller erstellten Token erforderlich ist. Beispielsweise verknüpft die ConfigurationBasedIssuerNameRegistry Klasse, die in .NET 4.5 sofort verfügbar ist, den mnemonischen Namen für jeden Aussteller mit dem entsprechenden X.509-Zertifikat. Die Liste der bekannten Aussteller wird in der Regel zur Startzeit von der Ausstellernamenregistrierung erstellt. Die von ConfigurationBasedIssuerNameRegistry verwendete Liste wird in der Anwendungskonfigurationsdatei angegeben.
Die OriginalIssuer -Eigenschaft enthält den Namen der Entität, die den Anspruch ursprünglich 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 den Anspruch ursprünglich ausgestellt hat. Der Name stammt aus der Liste der bekannten Aussteller, die von der Ausstellernamenregistrierung verwaltet werden, wie im Fall der Issuer Eigenschaft.
Konstruktoren
Claim(BinaryReader) |
Initialisiert eine Instanz von Claim mit der angegebenen BinaryReader. |
Claim(BinaryReader, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Reader und Antragsteller. |
Claim(Claim) |
Initialisiert eine neue Instanz der Claim-Klasse. |
Claim(Claim, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Sicherheitsanspruch und Antragsteller. |
Claim(String, String) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Anspruchstyp und -wert. |
Claim(String, String, String) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Anspruchstyp, -wert und -werttyp. |
Claim(String, String, String, String) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Anspruchstyp, -wert, -werttyp und -aussteller. |
Claim(String, String, String, String, String) |
Initialisiert einen neuen instance der Claim -Klasse mit dem angegebenen Anspruchstyp, Wert, Werttyp, Aussteller und ursprünglichem Aussteller. |
Claim(String, String, String, String, String, ClaimsIdentity) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Anspruchstyp, Wert, Werttyp, Aussteller, ursprünglichen Aussteller und Antragsteller. |
Eigenschaften
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 Antragsteller 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
Clone() |
Gibt ein neues Claim-Objekt zurück, das aus diesem Objekt kopiert wurde. Das neue Claim-Objekt weist keine Subject-Eigenschaft auf. |
Clone(ClaimsIdentity) |
Gibt ein neues Claim-Objekt zurück, das aus diesem Objekt kopiert wurde. Der Antragsteller des neuen Anspruchs wird auf die angegebene "ClaimsIdentity" festgelegt. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgenentsprechung dieses Claim-Objekts zurück. |
WriteTo(BinaryWriter) |
Schreibt dieses Claim in den Writer. |
WriteTo(BinaryWriter, Byte[]) |
Schreibt dieses Claim in den Writer. |