2009-02-26 6 views
0

Ähnlich wie this question, brauche ich die Fähigkeit, Benutzername + Passwort ohne Transportsicherheit zu verlangen. Aber in meiner Situation hat der eigentliche IIS-Server kein SSL, aber der Proxy davor.Wie erfordert man einen gültigen Benutzernamen + Passwort mit WCF (ohne Transportsicherheit)

Dies ist, wo WCF ein Problem hat - weil die Box, die es hostet, diese Art von Sicherheit ohne SSL nicht erlauben wird. Kurz gesagt - muss ich meine eigene Bindung dafür schreiben oder habe ich eine Art Workaround für diese Situation vermisst?

Antwort

1

Ja, WCF erfordert eine verschlüsselte Kommunikation, wenn Sie einen Benutzernamen/ein Passwort eingeben müssen.

Ich denke, die einzige Möglichkeit besteht darin, ein Zertifikat für die sichere Kommunikation zu erstellen (Sicherheit auf Nachrichtenebene). Sie können dies leicht tun mit makecert, wie folgt aus:

makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=localhostCA -sky exchange -pe 

Unter Umständen müssen Sie den Zugriff auf diese Bescheinigung für den IIS-Benutzer gewähren, die Windows HTTP-Dienste Certificate Configuration Tool. Führen Sie dann den folgenden Befehl ein (vorausgesetzt, dass „ASPNET“ ist die entsprechende IIS-Benutzer):

winhttpcertcfg -g -c LOCAL_MACHINE\My -s localhostCA -a ASPNET 

Ersetzen „localhostCA“ mit dem Namen Ihres Zertifikats.

Verwandte Themen