Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows Communication Foundation (WCF) har flera lägen där klienter och tjänster autentiseras mot varandra. Du kan skapa säkerhetsbindningselement för dessa autentiseringslägen med hjälp av statiska metoder i SecurityBindingElement klassen eller via konfiguration. I det här avsnittet beskrivs kortfattat de 18 autentiseringslägena.
Ett exempel på hur du använder elementet för något av autentiseringslägena finns i Så här skapar du ett SecurityBindingElement för ett angivet autentiseringsläge.
Grundläggande konfigurationsprogrammering
Följande procedur beskriver hur du anger autentiseringsläget i en konfigurationsfil.
Så här ställer du in autentiseringsläget i konfigurationen
Lägg till en< customBinding> i bindningselementet<>
Som ett underordnat element lägger du till ett < i elementet>.
Lägg till ett
<security>element i elementet<binding>.authenticationModeAnge attributet till något av de värden som beskrivs nedan. Följande kod anger till exempel läget tillAnonymousForCertificate.<bindings> <customBinding> <binding name="SecureCustomBinding"> <security authenticationMode ="AnonymousForCertificate" /> </binding> </customBinding> </bindings>
Så här ställer du in läget programmatiskt
Fastställ returtypen, som kan vara något av följande: SymmetricSecurityBindingElement, TransportSecurityBindingElement, AsymmetricSecurityBindingElement, eller SecurityBindingElement.
Anropa lämplig statisk metod för SecurityBindingElement klassen. Följande kod anropar CreateAnonymousForCertificateBindingElement till exempel metoden.
SymmetricSecurityBindingElement b = SecurityBindingElement. CreateAnonymousForCertificateBindingElement();Dim b As SymmetricSecurityBindingElement = _ SecurityBindingElement.CreateAnonymousForCertificateBindingElement()Använd bindningselementet för att skapa den anpassade bindningen. Mer information finns i Anpassade bindningar.
Lägesbeskrivningar
Anonym för Certifikat
Med det här autentiseringsläget är klienten anonym och tjänsten autentiseras med hjälp av ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateAnonymousForCertificateBindingElement metoden. Du kan också ange authenticationMode attributet för elementet <security> till AnonymousForCertificate.
AnonymFörSslFörhandlad
Med det här autentiseringsläget är klienten anonym och tjänsten autentiseras med ett X.509-certifikat som förhandlas vid körning. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateSslNegotiationBindingElement metoden när ett värde false för skickas för den första parametern. Du kan också ange authenticationMode attributet till AnonymousForSslNegotiated.
CertifikatÖverTransport
Med det här autentiseringsläget autentiserar klienten med hjälp av ett X.509-certifikat som visas på SOAP-lagret som en stödtoken. en token som signerar meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat på transportlagret. Säkerhetsbindningselementet returneras TransportSecurityBindingElement av CreateCertificateOverTransportBindingElement metoden. Du kan också ange authenticationMode attributet till CertificateOverTransport.
UtfärdadToken
Med det här autentiseringsläget autentiserar inte klienten till tjänsten som sådan. I stället autentiserar klienten till en säkerhetstokentjänst och tar emot en SAML-token, som den sedan presenterar för servern för att bevisa sin kunskap om en delad nyckel. Tjänsten autentiseras inte till klienten, men tjänsten för säkerhetstoken krypterar den delade nyckeln som en del av den utfärdade token så att endast tjänsten kan dekryptera nyckeln. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateIssuedTokenBindingElement metoden. Du kan också ange authenticationMode attributet till IssuedToken.
Issuerad token för certifikat
Med det här autentiseringsläget autentiserar inte klienten till tjänsten som sådan. I stället autentiserar klienten till en säkerhetstokentjänst och tar emot en SAML-token, som den sedan presenterar för servern för att bevisa sin kunskap om en delad nyckel. Den utfärdade token visas på SOAP-lagret som antingen en stödjande token eller en ägartoken. en token som signerar meddelandesignaturen. Tjänsten autentiserar till klienten med hjälp av ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateIssuedTokenForCertificateBindingElement metoden. Du kan också ange authenticationMode attributet till IssuedTokenForCertificate.
UtfärdadTokenFörSslFörhandlad
Med det här autentiseringsläget autentiserar inte klienten till tjänsten som sådan. I stället autentiserar klienten till en säkerhetstokentjänst och tar emot en SAML-token, som den sedan presenterar för servern för att bevisa sin kunskap om en delad nyckel. Den utfärdade token visas på SOAP-lagret som antingen en stödjande token eller en ägartoken. en token som signerar meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateIssuedTokenForSslBindingElement metoden. Du kan också ange authenticationMode attributet till IssuedTokenForSslNegotiated.
UtfärdadTokenÖverTransport
Med det här autentiseringsläget autentiserar inte klienten till tjänsten som sådan. I stället autentiserar klienten till en säkerhetstokentjänst och tar emot en SAML-token, som den sedan presenterar för servern för att bevisa sin kunskap om en delad nyckel. Den utfärdade token visas på SOAP-lagret som antingen en stödjande token eller en ägartoken. en token som signerar meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat på transportlagret. Säkerhetsbindningselementet returneras TransportSecurityBindingElement av CreateIssuedTokenOverTransportBindingElement metoden. Du kan också ange authenticationMode attributet till IssuedTokenOverTransport.
Kerberos
Med det här autentiseringsläget autentiserar klienten till tjänsten med hjälp av en Kerberos-biljett. Samma biljett ger även serverautentisering. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateKerberosBindingElement metoden. Du kan också ange authenticationMode attributet till Kerberos.
Kommentar
För att kunna använda det här autentiseringsläget måste tjänstkontot associeras med ett tjänsthuvudnamn (SPN). Det gör du genom att köra tjänsten under NÄTVERKSTJÄNSTkontot eller DET LOKALA SYSTEM-kontot. Du kan också använda verktyget SetSpn.exe för att skapa ett SPN för tjänstkontot. I båda fallen måste klienten använda rätt SPN i elementet <> eller med hjälp av konstruktorn. Mer information finns i Tjänstidentitet och autentisering.
Kommentar
När autentiseringsläget Kerberos används Anonymous stöds inte personifieringsnivåerna och Delegation .
KerberosOverTransport
Med det här autentiseringsläget autentiserar klienten till tjänsten med hjälp av en Kerberos-biljett. Kerberos-token visas på SOAP-lagret som en stödjande token. en token som signerar meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat på transportlagret. Säkerhetsbindningselementet returneras TransportSecurityBindingElement av CreateKerberosOverTransportBindingElement metoden. Du kan också ange authenticationMode attributet till KerberosOverTransport.
Kommentar
För att kunna använda det här autentiseringsläget måste tjänstkontot associeras med ett SPN. Det gör du genom att köra tjänsten under NÄTVERKSTJÄNSTkontot eller DET LOKALA SYSTEM-kontot. Du kan också använda verktyget SetSpn.exe för att skapa ett SPN för tjänstkontot. I båda fallen måste klienten använda rätt SPN i elementet <> eller med hjälp av konstruktorn. Mer information finns i Tjänstidentitet och autentisering.
Mutualcertifikat
Med det här autentiseringsläget autentiserar klienten med hjälp av ett X.509-certifikat som visas på SOAP-lagret som en stödtoken. en token som signerar meddelandesignaturen. Tjänsten autentiseras också med ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateMutualCertificateBindingElement metoden. Du kan också ange authenticationMode attributet till MutualCertificate.
MutualCertificateDuplex
Med det här autentiseringsläget autentiserar klienten med hjälp av ett X.509-certifikat som visas på SOAP-lagret som en stödtoken. en token som signerar meddelandesignaturen. Tjänsten autentiseras också med ett X.509-certifikat. Bindningen returneras AsymmetricSecurityBindingElement av CreateMutualCertificateDuplexBindingElement metoden. Du kan också ange authenticationMode attributet till MutualCertificateDuplex.
ÖmsesidigSslFörhandlad
Med det här autentiseringsläget autentiserar klienten och tjänsten med X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateSslNegotiationBindingElement metoden när ett värde true för skickas för den första parametern. Du kan också ange authenticationMode attributet till MutualSslNegotiated.
SecureConversation
Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateSecureConversationBindingElement metoden. Den här metoden tar en SecurityBindingElement som en parameter, som används under initieringen för att upprätta den säkra sessionen. Du kan också ange authenticationMode attributet till SecureConversation.
Om ingen bootstrap-bindning har angetts används autentiseringsläget SspiNegotiated för bootstrap.
SspiNegotiation
Med det här autentiseringsläget används ett förhandlingsprotokoll för att utföra klient- och serverautentisering. Kerberos används om möjligt. annars används NT LanMan (NTLM). Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateSspiNegotiationBindingElement metoden. Du kan också ange authenticationMode attributet till SspiNegotiated.
SspiNegotiatedOverTransport
Med det här autentiseringsläget används ett förhandlingsprotokoll för att utföra klient- och serverautentisering. Kerberos-protokollet används om möjligt. annars används NTLM. Den resulterande token visas i SOAP-lagret som en stödjande token. en token som signerar meddelandesignaturen. Tjänsten autentiseras dessutom på transportlagret av ett X.509-certifikat. Säkerhetsbindningselementet returneras TransportSecurityBindingElement av CreateSspiNegotiationOverTransportBindingElement metoden. Du kan också ange authenticationMode attributet till SspiNegotiatedOverTransport.
AnvändarnamnFörCertifikat
Med det här autentiseringsläget autentiserar klienten till tjänsten med hjälp av en användarnamnstoken som visas på SOAP-lagret som en signerad stödtoken. en token som är signerad av meddelandesignaturen. Tjänsten autentiserar till klienten med hjälp av ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateUserNameForCertificateBindingElement metoden. Du kan också ange authenticationMode attributet till UserNameForCertificate.
För autentiseringsläget UserNameForCertificate måste både klienten och tjänsten använda WS-Security 1.1.
AnvändarnamnFörSslFörhandlad
Med det här autentiseringsläget autentiseras klienten med hjälp av en användarnamnstoken som visas på SOAP-lagret som en signerad stödtoken. en token som är signerad av meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat. Säkerhetsbindningselementet returneras SymmetricSecurityBindingElement av CreateUserNameForSslBindingElement metoden. Du kan också ange authenticationMode attributet till UserNameForSslNegotiated.
Användarnamnövertransport
Med det här autentiseringsläget autentiserar klienten med hjälp av en användarnamnstoken som visas på SOAP-lagret som en signerad stödtoken. en token som är signerad av meddelandesignaturen. Tjänsten autentiseras med ett X.509-certifikat på transportlagret. Säkerhetsbindningselementet returneras TransportSecurityBindingElement av CreateUserNameOverTransportBindingElement metoden. Du kan också ange authenticationMode attributet till UserNameOverTransport.