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
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
- 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 identity je autorizační systém založený na deklaracích. Deklarace identity popisují možnosti spojené s určitou entitou v systému, často uživatelem tohoto systému. Sadu deklarací identity přidružených k dané entitě 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 je určen porovnáním deklarací identity požadovaných pro přístup k danému prostředku s deklaracemi přidruženými k entitě, která se pokouší o přístup.
Nárok je vyjádření práva s ohledem na konkrétní hodnotu. Právem může být čtení, zápis nebo vlastnictví. Hodnotou může být databáze, soubor, poštovní schránka nebo vlastnost. Nároky mají také typ nároku. Kombinace typu deklarace identity a práva poskytuje mechanismus pro specifikované schopnosti s ohledem na hodnotu. Například deklarace typu file s právem read nad hodnotou biography.doc označuje, že entita s takovou deklarací identity má přístup pro čtení k souboru biography.doc. Deklarace názvu 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 identity, systém je rozšiřitelný. Různé systémy, které jsou založené na infrastruktuře modelu identit, mohou definovat typy deklarací identity a práva podle potřeby.
Konstruktory
| Name | Description |
|---|---|
| Claim(String, Object, String) |
Inicializuje novou instanci Claim třídy se zadaným typem, prostředkem a vpravo. |
Vlastnosti
| Name | Description |
|---|---|
| ClaimType |
Získá typ deklarace identity. |
| DefaultComparer |
Získá objekt, který může porovnat dva Claim objekty pro rovnost. |
| Resource |
Získá prostředek, ke kterému je tento Claim objekt přidružen. |
| Right |
Řetězcové vyjádření 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 systémovou entitu. |
Metody
| Name | Description |
|---|---|
| CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
Vytvoří Claim objekt, který představuje pouze zadaný identifikátor zabezpečení (SID) 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) |
Claim Vytvoří 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ý hlavní název uživatele (UPN). |
| CreateUriClaim(Uri) |
Vytvoří objekt, který představuje zadanou Claim 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() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězcovou reprezentaci tohoto Claim objektu. |