Claim Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'attestazione associata a un'entità.
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
- Ereditarietà
-
Claim
- Attributi
Esempio
// 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
Commenti
Il modello di identità è un sistema di autorizzazioni basato su attestazioni. Tali attestazioni descrivono le funzionalità associate a un'entità nel sistema, spesso un utente di tale sistema. Il set di attestazioni associato a una determinata entità può essere considerato come una chiave. Le particolari attestazioni definiscono la forma della chiave, analogamente a una chiave utilizzata per aprire la serratura di una porta. Allo stesso modo, le attestazioni vengono utilizzate per accedere alle risorse. L'accesso a una determinata risorsa protetta viene determinato confrontando le attestazioni necessarie per accedere alla risorsa alle attestazioni associate all'entità che tenta di effettuare l'accesso.
Un'attestazione è l'espressione di un diritto rispetto a un particolare valore. Un diritto può essere di lettura, scrittura o proprietà. Un valore potrebbe essere un database, un file, una cassetta postale o una proprietà. Le attestazioni dispongono inoltre di un tipo. La combinazione di tipo di attestazione e diritto fornisce il meccanismo che consente di specificare le funzionalità in relazione al valore. Ad esempio, un'attestazione di tipo file
con il diritto read
sul valore biography.doc
indica che l'entità con tale attestazione ha accesso in lettura al file biography.doc. Un'attestazione di tipo nome con il diritto PossessProperty sul valore Martin
indica che l'entità con l'attestazione possiede una Name
proprietà con il valore Martin
.
Anche se i diversi tipi di attestazione e diritti sono definiti come parte del modello di identità, il sistema è estensibile. I vari sistemi basati sull'infrastruttura del modello di identità possono definire tipi di attestazione e diritti secondo le proprie esigenze.
Costruttori
Claim(String, Object, String) |
Inizializza una nuova istanza della classe Claim con il tipo, la risorsa e il diritto specificati. |
Proprietà
ClaimType |
Ottiene il tipo dell'attestazione. |
DefaultComparer |
Ottiene un oggetto che può confrontare due oggetti Claim per verificarne l'uguaglianza. |
Resource |
Ottiene la risorsa a cui l'oggetto Claim corrente è associato. |
Right |
Rappresentazione di stringa di un URI (Uniform Resource Identifier) che specifica il diritto associato all'oggetto Claim corrente. Sono disponibili diritti predefiniti come proprietà statiche della classe Rights. |
System |
Attestazione predefinita che rappresenta l'entità di sistema. |
Metodi
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Crea un oggetto Claim che rappresenta un ID di sicurezza (SID, Security ID) di sola negazione specificato. |
CreateDnsClaim(String) |
Crea un oggetto Claim che rappresenta il nome Domain Name System (DNS) specificato. |
CreateHashClaim(Byte[]) |
Crea un oggetto Claim che rappresenta il valore hash specificato. |
CreateMailAddressClaim(MailAddress) |
Crea un oggetto Claim che rappresenta l'indirizzo di posta elettronica specificato. |
CreateNameClaim(String) |
Crea un oggetto Claim che rappresenta il nome specificato. |
CreateRsaClaim(RSA) |
Crea un oggetto Claim che rappresenta la chiave RSA specificata. |
CreateSpnClaim(String) |
Crea un oggetto Claim che rappresenta il nome SPN (Service Principal Name, Nome principale servizio) specificato. |
CreateThumbprintClaim(Byte[]) |
Crea un oggetto Claim che rappresenta l'identificazione digitale specificata. |
CreateUpnClaim(String) |
Crea un oggetto Claim che rappresenta il nome Universal Principal Name (UPN) specificato. |
CreateUriClaim(Uri) |
Crea un oggetto Claim che rappresenta l'URL (Uniform Resource Locator) specificato. |
CreateWindowsSidClaim(SecurityIdentifier) |
Crea un oggetto Claim che rappresenta l'ID di sicurezza (SID, Security ID) specificato. |
CreateX500DistinguishedNameClaim(X500DistinguishedName) |
Crea un oggetto Claim che rappresenta il nome distinto X.500 specificato. |
Equals(Object) |
Determina se l'oggetto specificato rappresenta la stessa attestazione dell'oggetto Claim corrente. |
GetHashCode() |
Restituisce un codice hash per l'attestazione corrente. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione sotto forma di stringa dell'oggetto Claim corrente. |