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
public class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
type Claim = class
[<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 anspruchsbasiertes Autorisierungssystem. Ansprüche beschreiben die Funktionen, die mit einer Entität im System verknüpft sind, häufig ein Benutzer dieses Systems. Der Satz von Ansprüchen, die einer bestimmten Entität zugeordnet sind, kann als Schlüssel betrachtet werden. Die besonderen Ansprüche definieren die Form dieses Schlüssels; ähnlich wie ein physischer Schlüssel wird verwendet, um eine Sperre in einer Tür zu öffnen. Auf diese Weise werden Ansprüche verwendet, um 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 der Entität zugeordnet sind, auf die zugegriffen wird.
Ein Anspruch ist der Ausdruck eines Rechts im Hinblick auf einen bestimmten Wert. Ein Recht könnte gelesen, geschrieben oder besitzen. Ein Wert kann eine Datenbank, eine Datei, ein Postfach oder eine Eigenschaft sein. Ansprüche haben auch einen Anspruchstyp. Die Kombination aus Anspruchstyp und Recht bietet den Mechanismus für funktionen, die im Hinblick auf den Wert angegeben werden. Beispielsweise gibt ein Anspruch vom Typ file mit dem rechten read Wert biography.doc an, dass die Entität mit einem solchen Anspruch Lesezugriff auf die Datei biography.doc hat. Ein Anspruch vom Typnamen mit dem rechten Wert PossessPropertyMartin gibt an, dass die Entität mit dem Anspruch über eine Name Eigenschaft mit dem Wert Martinverfügt.
Obwohl verschiedene Anspruchstypen und -rechte als Teil des Identitätsmodells definiert sind, ist das System erweiterbar. Die verschiedenen Systeme, die auf der Identitätsmodellinfrastruktur aufbauen, können Anspruchstypen und -rechte nach Bedarf definieren.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Claim(String, Object, String) |
Initialisiert eine neue Instanz der Claim Klasse mit dem angegebenen Typ, der angegebenen Ressource und der rechten Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ClaimType |
Ruft den Typ des Anspruchs ab. |
| DefaultComparer |
Ruft ein Objekt ab, das zwei Claim Objekte mit Gleichheit vergleichen kann. |
| Resource |
Ruft die Ressource ab, der dieses Claim Objekt zugeordnet ist. |
| Right |
Eine Zeichenfolgendarstellung eines URI (Uniform Resource Identifier), der 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
| Name | Beschreibung |
|---|---|
| CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Erstellt ein Claim Objekt, das einen deny-only angegebenen Sicherheitsbezeichner (SID) darstellt. |
| CreateDnsClaim(String) |
Erstellt ein Claim Objekt, das den angegebenen DNS-Namen (Domain Name System) darstellt. |
| CreateHashClaim(Byte[]) |
Erstellt ein Claim Objekt, das den angegebenen Hashwert darstellt. |
| CreateMailAddressClaim(MailAddress) |
Erstellt ein Claim Objekt, das die angegebene E-Mail-Adresse darstellt. |
| CreateNameClaim(String) |
Erstellt ein Claim Objekt, 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 universellen Prinzipalnamen (Universal Principal Name, UPN) darstellt. |
| CreateUriClaim(Uri) |
Erstellt ein Claim Objekt, das die angegebene URL (Uniform Resource Locator) 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-Namen darstellt. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt denselben Anspruch wie das aktuelle Claim Objekt darstellt. |
| GetHashCode() |
Gibt einen Hashcode für den aktuellen Anspruch zurück. |
| 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. |