WCF-Sicherheitsauthentifizierung

8

Ich habe einen einfachen Dienst und versuche, die Authentifizierung einzurichten. Auf dem Client möchte ich, dass der Benutzer sein Windows-Benutzerkonto eingibt. Die WCF verwendet den vom Client bereitgestellten Benutzernamen und das Kennwort und authentifiziert sie gegen die Windows-Authentifizierung.

Hier ist mein Server app.config

%Vor%

Hier ist mein Client app.config

%Vor%

Hier ist mein Code auf dem Client

%Vor%

Aber ich bekomme immer diese Ausnahme:

{"Sicherer Kanal kann nicht geöffnet werden, da die Sicherheitsaushandlung mit dem Remote-Endpunkt fehlgeschlagen ist. Dies kann auf fehlende oder falsch angegebene EndpointIdentity in der EndpointAddress zur Erstellung des Channels zurückzuführen sein. Überprüfen Sie die von EndpointAddress angegebene oder implizierte EndpointIdentity korrekt identifiziert den Remote-Endpunkt. "} {"Die Anforderung für das Sicherheitstoken enthält ungültige oder fehlerhafte Elemente."}

    
pdiddy 01.09.2010, 18:12
quelle

3 Antworten

7

Offenbar haben Sie die Service- und Client-Konfiguration separat (von Hand) generiert. Es ist normalerweise eine gute Idee, die Client-Konfiguration vom Dienst mit svcutil oder Visual Studio's 'Add Service Reference' zu generieren. Auf diese Weise wissen Sie, dass Sie die Client-Konfiguration erhalten, die der Service-Konfiguration entspricht.

Was Sie wollen, ist möglich, aber WCF erlaubt Ihnen nicht, Ihren Benutzernamen / Passwort-Token im Klartext zu übertragen, wenn Sie wsHttpBinding verwenden. Dies bedeutet, dass Sie Ihren Dienst entweder mit https hosten oder ein Dienstzertifikat verwenden müssen. Hier ist ein Beitrag mit einigen mehr Details.

Aber ich frage mich auch, warum Sie so etwas wollen. Es könnte eine bessere Idee sein, die integrierte Windows-Authentifizierung zu verwenden. Dies ist sogar die Standardeinstellung für wsHttpBinding . Auf diese Weise brauchen Sie Ihren / Ihre Kunden nicht, um ihren Windows Benutzernamen / Passwort einzugeben.

    
Ronald Wildenberg 01.09.2010, 19:51
quelle
2

Ich denke, Windows-Authentifizierung mit WsHttpBinding funktioniert nur mit https.

Siehe hierzu: Ссылка

    
stombeur 01.09.2010 18:46
quelle
-2
%Vor%     
MSL 20.03.2014 14:37
quelle

Tags und Links