Anspråk och token
I det här avsnittet beskrivs de olika anspråkstyper som Windows Communication Foundation (WCF) skapar från standardtoken som stöds.
Du kan undersöka anspråken för en klientautentiseringsuppgift med hjälp av klasserna ClaimSet och Claim . Innehåller ClaimSet
en samling Claim
objekt. Var och Claim
en har följande viktiga medlemmar:
Egenskapen ClaimType returnerar en URI (Uniform Resource Identifier) som anger vilken typ av anspråk som görs. En anspråkstyp kan till exempel vara ett tumavtryck för ett certifikat, i vilket fall URI:n är
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
.Egenskapen Right returnerar en URI som anger anspråkets rättighet. Fördefinierade rättigheter finns i Rights klassen (Identity, PossessProperty).
Egenskapen Resource returnerar resursen som är associerad med anspråket.
Var och ClaimSet en har också en Issuer egenskap som representerar ClaimSet för Issuer
.
Windows-konton
När en klientautentiseringsuppgift mappar till ett Windows-användarkonto har resultatet ClaimSet följande värden:
Issuer
är värdet som returneras av klassens statiska Windows-egenskapClaimSet.Anspråken i samlingen är:
A Claim med värdet ClaimType för säkerhetsidentifierare (SID), ett Right egenskapsvärde för
Identity
och ett Resource som returnerar det faktiska SID-värdet. Ett SID är ett unikt värde som domänkontrollanten har problem med för varje användare. SID används för att identifiera användaren i interaktioner med Windows-säkerhet.A Claim med värdet ClaimType SID, en Right av
PossessProperty
och ett Resource av SID-värdet.A Claim med en ClaimType av Name, en Right av
PossessProperty
och en Resource sträng som innehåller användarnamnet (till exempel "MYMACHINE\Bob").Ytterligare SID-anspråk med PossessProperty för de olika grupper som användaren tillhör.
Certifikat
Om klientens autentiseringsuppgifter är ett certifikat har resultatet ClaimSet följande värden:
För självutfärdade certifikat är det
Issuer
sig självt ClaimSet . ClaimSet Returnerar ett ClaimType av Thumbprint, ett Right avIdentity
och ett Resource värde som är en Byte matris som innehåller tumavtrycket för certifikatet.För ett certifikat som utfärdats av en certifikatutfärdare är utfärdaren den
ClaimSet
som representerar certifikatutfärdarens certifikat.I
Claims
samlingen finns:A
Claim
med tumavtryckClaimType
, enRight
av PossessProperty och enResource
som är en bytematris som innehåller tumavtrycket för certifikatetYtterligare PossessProperty-anspråk av olika typer, inklusive X500DistinguishedName, Dns, Name, Upn och Rsa, representerar olika egenskaper för certifikatet. Resursen för Rsa-anspråket är den offentliga nyckeln som är associerad med certifikatet.Observera Om klientautentiseringstypen är ett certifikat som tjänsten mappar till ett Windows-konto genereras två
ClaimSet
objekt. Den första innehåller alla anspråk som är relaterade till Windows-kontot och den andra innehåller alla anspråk som är relaterade till certifikatet.
Användarnamn/lösenord
Om klientens autentiseringsuppgifter är ett användarnamn/lösenord (eller motsvarande) som inte mappas till ett Windows-konto utfärdas resultatet ClaimSet
av klassens ClaimSet
statiska System egenskap. ClaimSet
Innehåller ett Identity
anspråk av typen Name vars resurs är det användarnamn som klienten tillhandahåller. Ett motsvarande anspråk har en Right
av PossessProperty
.
RSA-nycklar
Om en RSA-nyckel som inte är associerad med ett certifikat används, är resultatet självutfärdat ClaimSet
och innehåller ett Identity
anspråk av typen Rsa vars resurs är RSA-nyckeln. Ett motsvarande anspråk har en Right
av PossessProperty
.
SAML
När klienten autentiserar med en SAML-token (Security Assertions Markup Language) utfärdas resultatet ClaimSet
av entiteten som signerade SAML-token, ofta certifikatet för säkerhetstokentjänsten (STS) som utfärdade SAML-token. Innehåller ClaimSet
olika anspråk som finns i SAML-token. Om SAML-token innehåller en SamlSubject
med ett icke-namnnull
skapas ett Identity
anspråk med en typ av NameIdentifier och en resurstyp SamlNameIdentifierClaimResource .
Identitetsanspråk och ServiceSecurityContext.IsAnonymous
Om inget av objekten ClaimSet
som härrör från klientautentiseringsuppgifterna innehåller ett anspråk med ett Right
av Identity
returnerar IsAnonymous true
egenskapen . Om ett eller flera sådana anspråk finns returnerar false
egenskapen IsAnonymous
.