Claim Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje oświadczenie skojarzone z jednostką.
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
- Dziedziczenie
-
Claim
- Atrybuty
Przykłady
// 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
Uwagi
Model tożsamości to oparty na oświadczeniach system autoryzacji. Oświadczenia opisują możliwości skojarzone z niektórymi jednostkami w systemie, często użytkownikiem tego systemu. Zestaw oświadczeń skojarzonych z daną jednostką można traktować jako klucz. Określone oświadczenia definiują kształt tego klucza; podobnie jak klucz fizyczny jest używany do otwierania blokady w drzwiach. W ten sposób oświadczenia są używane do uzyskiwania dostępu do zasobów. Dostęp do danego chronionego zasobu jest określany przez porównanie oświadczeń wymaganych do uzyskania dostępu do tego zasobu z oświadczeniami skojarzonymi z jednostką, która próbuje uzyskać dostęp.
Oświadczenie jest wyrażeniem prawa w odniesieniu do określonej wartości. Prawo może być odczytywane, zapisywane lub posiadane. Wartość może być bazą danych, plikiem, skrzynką pocztową lub właściwością. Oświadczenia mają również typ oświadczenia. Kombinacja typu oświadczenia i prawa zapewnia mechanizm możliwości określonych w odniesieniu do wartości. Na przykład oświadczenie typu file
z prawem po prawej read
stronie wartości biography.doc
wskazuje, że jednostka z takim oświadczeniem ma dostęp do odczytu do pliku biography.doc. Oświadczenie nazwy typu z prawem do PossessProperty wartości Martin
wskazuje, że jednostka z oświadczeniem Name
posiada właściwość o wartości Martin
.
Chociaż różne typy oświadczeń i prawa są definiowane jako część modelu tożsamości, system jest rozszerzalny. Różne systemy oparte na infrastrukturze modelu tożsamości mogą definiować typy oświadczeń i prawa zgodnie z potrzebami.
Konstruktory
Claim(String, Object, String) |
Inicjuje Claim nowe wystąpienie klasy o określonym typie, zasobie i prawo. |
Właściwości
ClaimType |
Pobiera typ oświadczenia. |
DefaultComparer |
Pobiera obiekt, który może porównać dwa Claim obiekty pod kątem równości. |
Resource |
Pobiera zasób, z którym jest skojarzony ten Claim obiekt. |
Right |
Ciąg reprezentujący jednolity identyfikator zasobu (URI), który określa prawo skojarzone z tym Claim obiektem. Wstępnie zdefiniowane prawa są dostępne jako właściwości Rights statyczne klasy. |
System |
Wstępnie zdefiniowane oświadczenie reprezentujące jednostkę systemową. |
Metody
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Claim Tworzy obiekt, który reprezentuje określony tylko identyfikator zabezpieczeń (SID, deny-only security identifier). |
CreateDnsClaim(String) |
Claim Tworzy obiekt reprezentujący określoną nazwę systemu nazw domen (DNS). |
CreateHashClaim(Byte[]) |
Claim Tworzy obiekt reprezentujący określoną wartość skrótu. |
CreateMailAddressClaim(MailAddress) |
Claim Tworzy obiekt reprezentujący określony adres e-mail. |
CreateNameClaim(String) |
Claim Tworzy obiekt reprezentujący określoną nazwę. |
CreateRsaClaim(RSA) |
Claim Tworzy obiekt reprezentujący określony klucz RSA. |
CreateSpnClaim(String) |
Claim Tworzy obiekt reprezentujący określoną nazwę główną usługi (SPN). |
CreateThumbprintClaim(Byte[]) |
Claim Tworzy obiekt reprezentujący określony odcisk palca. |
CreateUpnClaim(String) |
Claim Tworzy obiekt reprezentujący określoną nazwę główną uniwersalnej (UPN). |
CreateUriClaim(Uri) |
Claim Tworzy obiekt reprezentujący określony ujednolicony lokalizator zasobów (URL). |
CreateWindowsSidClaim(SecurityIdentifier) |
Claim Tworzy obiekt reprezentujący określony identyfikator zabezpieczeń (SID). |
CreateX500DistinguishedNameClaim(X500DistinguishedName) |
Claim Tworzy obiekt reprezentujący określoną nazwę wyróżniającą X.500. |
Equals(Object) |
Określa, czy określony obiekt reprezentuje to samo oświadczenie co bieżący Claim obiekt. |
GetHashCode() |
Zwraca kod skrótu dla bieżącego oświadczenia. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca reprezentację ciągu tego Claim obiektu. |