Claim Klass

Definition

Representerar ett anspråk.

public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
Arv
Claim
Attribut

Exempel

I följande exempel extraheras de anspråk som är associerade med den autentiserade användaren som utför en HTTP-begäran och skriver dem i HTTP-svaret. Den aktuella användaren läss från HttpContext som en ClaimsPrincipal och anspråken läss från den. Anspråken skrivs sedan till objektet HttpResponse .

ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
if (null != principal)
{
   foreach (Claim claim in principal.Claims)
   {
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");
   }

}

Kommentarer

Ett anspråk är en instruktion om ett ämne av en utfärdare. Anspråk representerar attribut för ämnet som är användbara i samband med autentiserings- och auktoriseringsåtgärder. Ämnen och utfärdare är båda entiteter som ingår i ett identitetsscenario. Några vanliga exempel på ett ämne är: en användare, ett program eller en tjänst, en enhet eller en dator. Några vanliga exempel på en utfärdare är: operativsystemet, ett program, en tjänst, en rollprovider, en identitetsprovider eller en federationsprovider. En utfärdare levererar anspråk genom att utfärda säkerhetstoken, vanligtvis via en säkerhetstokentjänst (STS). Ibland kan insamlingen av anspråk som tas emot från en utfärdare utökas med ämnesattribut som lagras direkt på resursen. Ett anspråk kan utvärderas för att fastställa åtkomsträttigheter till data och andra skyddade resurser under auktoriseringsprocessen och kan också användas för att fatta eller uttrycka autentiseringsbeslut om ett ämne.

Från och med .NET Framework 4.5 har wif-klasserna (Windows Identity Foundation), som implementerar anspråksbaserad identitet, helt integrerats i .NET Framework. Anspråkskonceptet implementeras av Claim klassen.

Följande beskriver viktiga egenskaper för Claim klassen:

  • Egenskapen Type är en sträng (vanligtvis en URI) som innehåller semantisk information om anspråket. Den anger vad värdet för anspråket innebär. Ett anspråk med anspråkstypen GivenName ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") representerar till exempel en användares förnamn. Värdet för Type egenskapen kan vara en av de välkända anspråkstyper som definierats i ClaimTypes klassen, eller så kan det vara en godtycklig URI som definieras av utfärdaren. En anspråkstyp av "urn:spendinglimit" kan till exempel representera ett användarattribut som är meningsfullt i utfärdarens affärskontext.

  • Egenskapen Value innehåller anspråkets värde. För att minska beroenden och förenkla administrationen representeras värdet för ett anspråk endast som en sträng i WIF. För mer komplexa värdetyper rekommenderar vi att du använder xml-standardschematyper för att ange hur värdet ska serialiseras till och deserialiseras från en sträng.

  • Egenskapen ValueType innehåller en sträng som identifierar typinformationen för värdet. Den här egenskapen bör användas för att förstå värdets format och för att ge information om hur du deserialiserar det. Om lösningen kräver komplexa värdetyper rekommenderar vi att du använder xml-standardschematyper i ValueType egenskapen för att ange hur Value egenskapen ska serialiseras till och deserialiseras från en sträng.

  • Egenskapen Subject är ett ClaimsIdentity objekt som representerar anspråkets ämne. Ämnet för anspråket är entiteten (vanligtvis den användare som begär åtkomst till en resurs) som anspråket hävdas om. Innehåller ClaimsIdentity bland dess egenskaper en samling anspråk som beskriver egenskaperna och attributen för ämnet som intygas av en eller flera utfärdare.

  • Egenskapen Issuer innehåller namnet på den entitet som utfärdade anspråket. Utfärdaren av ett anspråk representeras i WIF av en sträng som innehåller ett namn som hämtats från en lista över välkända utfärdare som underhålls av utfärdarens namnregister. Utfärdarens namnregister är en instans av en klass som härleds från IssuerNameRegistry klassen. Utfärdarens namnregister associerar ett mnemonic-namn med det kryptografiska material som behövs för att verifiera signaturerna för token som produceras av motsvarande utfärdare. Till exempel associerar klassen ConfigurationBasedIssuerNameRegistry, som är tillgänglig i rutan med .NET 4.5, mnemonic-namnet för varje utfärdare med motsvarande X.509-certifikat. Listan över välkända utfärdare skapas vanligtvis vid start av utfärdarens namnregister. Listan som används av ConfigurationBasedIssuerNameRegistry anges i programkonfigurationsfilen.

  • Egenskapen OriginalIssuer innehåller namnet på den entitet som ursprungligen utfärdade anspråket. Den här egenskapen är utformad för att underlätta scenarier där ett anspråk kan passera genom flera utfärdare innan det presenteras av klienten för RP-programmet. till exempel federationsscenarier. Du kan undersöka OriginalIssuer egenskapen för att fastställa den entitet som ursprungligen utfärdade anspråket. Namnet tas från listan över välkända utfärdare som underhålls av utfärdarens namnregister, som i fallet Issuer med egenskapen.

Konstruktorer

Name Description
Claim(BinaryReader, ClaimsIdentity)

Initierar en ny instans av Claim klassen med den angivna läsaren och ämnet.

Claim(BinaryReader)

Initierar en instans av Claim med angiven BinaryReader.

Claim(Claim, ClaimsIdentity)

Initierar en ny instans av Claim klassen med det angivna säkerhetsanspråket och ämnet.

Claim(Claim)

Initierar en ny instans av Claim klassen.

Claim(String, String, String, String, String, ClaimsIdentity)

Initierar en ny instans av Claim klassen med angiven anspråkstyp, värde, värdetyp, utfärdare, ursprunglig utfärdare och ämne.

Claim(String, String, String, String, String)

Initierar en ny instans av Claim klassen med den angivna anspråkstypen, värdet, värdetypen, utfärdaren och den ursprungliga utfärdaren.

Claim(String, String, String, String)

Initierar en ny instans av Claim klassen med den angivna anspråkstypen, värdet, värdetypen och utfärdaren.

Claim(String, String, String)

Initierar en ny instans av Claim klassen med den angivna anspråkstypen, värdet och värdetypen.

Claim(String, String)

Initierar en ny instans av Claim klassen med den angivna anspråkstypen och värdet.

Egenskaper

Name Description
CustomSerializationData

Innehåller ytterligare data som tillhandahålls av en härledd typ.

Issuer

Hämtar utfärdaren av anspråket.

OriginalIssuer

Hämtar den ursprungliga utfärdaren av anspråket.

Properties

Hämtar en ordlista som innehåller ytterligare egenskaper som är associerade med det här anspråket.

Subject

Hämtar anspråkets ämne.

Type

Hämtar anspråkstypen för anspråket.

Value

Hämtar värdet för anspråket.

ValueType

Hämtar anspråkets värdetyp.

Metoder

Name Description
Clone()

Returnerar ett nytt Claim objekt som kopierats från det här objektet. Det nya anspråket har inget ämne.

Clone(ClaimsIdentity)

Returnerar ett nytt Claim objekt som kopierats från det här objektet. Ämnet för det nya anspråket är inställt på den angivna ClaimsIdentity.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en strängrepresentation av det här Claim objektet.

WriteTo(BinaryWriter, Byte[])

Skriver detta Claim till författaren.

WriteTo(BinaryWriter)

Skriver detta Claim till författaren.

Gäller för

Se även