Claim Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje deklaraci identity, která je přidružená k 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
- Dědičnost
-
Claim
- Atributy
Příklady
// 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
Poznámky
Model identit je systém autorizace na základě deklarací identity. Deklarace identity popisují možnosti spojené s určitou entitou v systému, často uživatelem tohoto systému. Sadu deklarací identity spojených s danou entitou si můžete představit jako klíč. Konkrétní deklarace identity definují tvar tohoto klíče; podobně jako fyzický klíč se používá k otevření zámku ve dveřích. Tímto způsobem se deklarace identity používají k získání přístupu k prostředkům. Přístup k danému chráněnému prostředku se určuje porovnáním deklarací identity požadovaných pro přístup k danému prostředku s deklaracemi identit přidruženými k entitě, která se o přístup pokouší.
Deklarace identity je vyjádřením práva s ohledem na určitou hodnotu. Právo může být čtení, zápis nebo držení. Hodnotou může být databáze, soubor, poštovní schránka nebo vlastnost. Deklarace identity mají také typ deklarace identity. Kombinace typu deklarace identity a práva poskytuje mechanismus pro specifikované schopnosti s ohledem na hodnotu. Například deklarace identity typu file
s právem read
nad hodnotou biography.doc
označuje, že entita s takovou deklarací identity má přístup ke čtení souboru biography.doc. Deklarace identity typu s právem PossessProperty nad hodnotou Martin
označuje, že entita s deklarací identity má Name
vlastnost s hodnotou Martin
.
I když jsou různé typy deklarací identity a práva definovány jako součást modelu identit, systém je rozšiřitelný. Různé systémy, které jsou založené na infrastruktuře modelu identit, můžou podle potřeby definovat typy deklarací identity a práva.
Konstruktory
Claim(String, Object, String) |
Inicializuje novou instanci Claim třídy se zadaným typem, prostředkem a vpravo. |
Vlastnosti
ClaimType |
Získá typ deklarace identity. |
DefaultComparer |
Získá objekt, který lze porovnat dva Claim objekty pro rovnost. |
Resource |
Získá prostředek, se kterým je tento Claim objekt přidružen. |
Right |
Řetězcová reprezentace identifikátoru URI (Uniform Resource Identifier), která určuje právo přidružené k tomuto Claim objektu. Předdefinovaná práva jsou k dispozici jako statické vlastnosti Rights třídy . |
System |
Předdefinovaná deklarace identity, která představuje entitu systému. |
Metody
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Vytvoří Claim objekt, který představuje identifikátor zabezpečení (SID) určený pouze pro odepření. |
CreateDnsClaim(String) |
Vytvoří Claim objekt, který představuje zadaný název DNS (Domain Name System). |
CreateHashClaim(Byte[]) |
Vytvoří Claim objekt, který představuje zadanou hodnotu hash. |
CreateMailAddressClaim(MailAddress) |
Vytvoří Claim objekt, který představuje zadanou e-mailovou adresu. |
CreateNameClaim(String) |
Vytvoří Claim objekt, který představuje zadaný název. |
CreateRsaClaim(RSA) |
Vytvoří Claim objekt, který představuje zadaný klíč RSA. |
CreateSpnClaim(String) |
Vytvoří Claim objekt, který představuje zadaný hlavní název služby (SPN). |
CreateThumbprintClaim(Byte[]) |
Vytvoří Claim objekt, který představuje zadaný kryptografický otisk. |
CreateUpnClaim(String) |
Vytvoří Claim objekt, který představuje zadaný univerzální hlavní název (UPN). |
CreateUriClaim(Uri) |
Vytvoří Claim objekt, který představuje zadanou adresu URL (Uniform Resource Locator). |
CreateWindowsSidClaim(SecurityIdentifier) |
Vytvoří Claim objekt, který představuje zadaný identifikátor zabezpečení (SID). |
CreateX500DistinguishedNameClaim(X500DistinguishedName) |
Vytvoří Claim objekt, který představuje zadaný rozlišující název X.500. |
Equals(Object) |
Určuje, zda zadaný objekt představuje stejnou deklaraci identity jako aktuální Claim objekt. |
GetHashCode() |
Vrátí kód hash pro aktuální deklaraci identity. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězcovou reprezentaci tohoto Claim objektu. |