Claim Třída

Definice

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.

Platí pro