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, der einer Entität zugeordnet ist.
public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type Claim = class
Public Class Claim
- Vererbung
-
Claim
- Attribute
Beispiele
// Run this method from within a method protected by the PrincipalPermissionAttribute
// to see the security context data, including the primary identity.
public void WriteServiceSecurityContextData(string fileName)
{
using (StreamWriter sw = new StreamWriter(fileName))
{
// Write the primary identity and Windows identity. The primary identity is derived from the
// the credentials used to authenticate the user. The Windows identity may be a null string.
sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name);
sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name);
sw.WriteLine();
// Write the claimsets in the authorization context. By default, there is only one claimset
// provided by the system.
foreach (ClaimSet claimset in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
{
foreach (Claim claim in claimset)
{
// Write out each claim type, claim value, and the right. There are two
// possible values for the right: "identity" and "possessproperty".
sw.WriteLine("Claim Type = {0}", claim.ClaimType);
sw.WriteLine("\t Resource = {0}", claim.Resource.ToString());
sw.WriteLine("\t Right = {0}", claim.Right);
}
}
}
}
' Run this method from within a method protected by the PrincipalPermissionAttribute
' to see the security context data, including the primary identity.
Public Sub WriteServiceSecurityContextData(ByVal fileName As String)
Dim sw As New StreamWriter(fileName)
Try
' Write the primary identity and Windows identity. The primary identity is derived from the
' the credentials used to authenticate the user. The Windows identity may be a null string.
sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name)
sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name)
sw.WriteLine()
' Write the claimsets in the authorization context. By default, there is only one claimset
' provided by the system.
Dim claimset As ClaimSet
For Each claimset In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
Dim claim As Claim
For Each claim In claimset
' Write out each claim type, claim value, and the right. There are two
' possible values for the right: "identity" and "possessproperty".
sw.WriteLine("Claim Type = {0}", claim.ClaimType)
sw.WriteLine(vbTab + " Resource = {0}", claim.Resource.ToString())
sw.WriteLine(vbTab + " Right = {0}", claim.Right)
Next claim
Next claimset
Finally
sw.Dispose()
End Try
End Sub
Hinweise
Das Identitätsmodell ist ein anspruchbasiertes Autorisierungssystem. Ansprüche beschreiben die Funktionen, die mit einer Entität im System, häufig einem Benutzer des entsprechenden Systems, verbunden sind. Den mit einer bestimmten Entität verbundenen Satz von Ansprüchen kann man sich als Schlüssel vorstellen. Die jeweiligen Ansprüche definieren die Form des Schlüssels, ähnlich wie bei einem richtigen Schlüssel, der zum Öffnen einer Tür verwendet wird. Auf die gleiche Weise dienen Ansprüche dazu, Zugriff auf Ressourcen zu erhalten. Der Zugriff auf eine bestimmte geschützte Ressource wird bestimmt, indem die für den Zugriff auf diese Ressource erforderlichen Ansprüche mit den Ansprüchen verglichen werden, die mit der Entität verbunden sind, die zuzugreifen versucht.
Ein Anspruch ist der Ausdruck eines Rechts in Bezug auf einen bestimmten Wert. Ein Recht kann beispielsweise Lesen, Schreiben oder Besitzen sein. Ein Wert kann eine Datenbank, eine Datei, ein Postfach oder eine Eigenschaft sein. Ansprüche besitzen außerdem einen Anspruchtyp. Die Kombination aus Anspruchtyp und Recht stellt den Mechanismus zur Angabe der Funktionen in Bezug auf den Wert dar. Ein Anspruch des file
-Typs mit dem read
-Recht für den biography.doc
-Wert gibt beispielsweise an, dass die Entität mit diesem Anspruch Lesezugriff auf die Datei biography.doc hat. Ein Anspruch des Typs Name mit dem -Recht PossessProperty für den Martin
-Wert gibt an, dass die Entität mit diesem Anspruch eine Name
-Eigenschaft mit dem Martin
-Wert besitzt.
Verschiedene Anspruchtypen und Rechte sind bereits als Teil des Identitätsmodells definiert, das System ist jedoch erweiterbar. Die verschiedenen, auf der Identitätsmodellinfrastruktur aufbauenden Systeme können alle erforderlichen Anspruchtypen und Rechte definieren.
Konstruktoren
Claim(String, Object, String) |
Initialisiert eine neue Instanz der Claim-Klasse mit dem angegebenen Typ, der angegebenen Ressource und dem angegebenen Recht. |
Eigenschaften
ClaimType |
Ruft den Typ des Anspruchs ab. |
DefaultComparer |
Ruft ein Objekt ab, das zwei Claim-Objekte auf Übereinstimmung überprüfen kann. |
Resource |
Ruft die Ressource ab, der dieses Claim-Objekt zugeordnet ist. |
Right |
Eine Zeichenfolgendarstellung eines URI, die das Recht angibt, das diesem Claim-Objekt zugeordnet ist. Vordefinierte Rechte sind als statische Eigenschaften der Rights-Klasse verfügbar. |
System |
Ein vordefinierter Anspruch, der die Systementität darstellt. |
Methoden
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Erstellt ein Claim-Objekt, das eine angegebene Sicherheits-ID (SID) darstellt, die nur zum Ablehnen dient. |
CreateDnsClaim(String) |
Erstellt ein Claim-Objekt, das den angegebenen Domain Name System (DNS)-Namen darstellt. |
CreateHashClaim(Byte[]) |
Erstellt ein Claim-Objekt ab, das den angegebenen Hashwert darstellt. |
CreateMailAddressClaim(MailAddress) |
Erstellt ein Claim-Objekt, das die angegebenen E-Mail-Adresse darstellt. |
CreateNameClaim(String) |
Erstellt ein Claim-Objekt ab, das den angegebenen Namen darstellt. |
CreateRsaClaim(RSA) |
Erstellt ein Claim-Objekt, das den angegebenen RSA-Schlüssel darstellt. |
CreateSpnClaim(String) |
Erstellt ein Claim-Objekt, das den angegebenen Dienstprinzipalnamen (Service Principal Name, SPN) darstellt. |
CreateThumbprintClaim(Byte[]) |
Erstellt ein Claim-Objekt, das den angegebenen Fingerabdruck darstellt. |
CreateUpnClaim(String) |
Erstellt ein Claim-Objekt, das den angegebenen Universal Principal Name (UPN) darstellt. |
CreateUriClaim(Uri) |
Erstellt ein Claim-Objekt, das die angegebene Uniform Resource Locator (URL) darstellt. |
CreateWindowsSidClaim(SecurityIdentifier) |
Erstellt ein Claim-Objekt, das die angegebene Sicherheits-ID (SID) darstellt. |
CreateX500DistinguishedNameClaim(X500DistinguishedName) |
Erstellt ein Claim-Objekt, das den angegebenen X.500-Distinguished Name darstellt. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt den gleichen Anspruch wie das aktuelle Claim-Objekt darstellt. |
GetHashCode() |
Gibt einen Hashcode für den aktuellen Anspruch zurück. |
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. |