Selbst gehostete WCF-REST-service und Basic Authentifizierung

Ich habe eine selbst gehostete WCF-REST-Dienst (mit einigen extra ' s von WCF REST Starter Kit Preview 2). Dies ist alle wunderbar funktioniert.

Ich bin jetzt versuchen, fügen Sie " Basic authentication service. Aber ich bin man ein paar ziemlich große Hürden in den WCF-stack-was hindert mich daran, dies zu tun.

Scheint es, dass die HttpListener (die selbst gehostete WCF-Dienste verwenden intern auf einem niedrigen Niveau in den WCF-stack) blockiert meine versuche, Sie zum einfügen eines WWW-Authenticate header selbst generiert 401 Unauthorized Antwort. Warum?

Ich kann die Authentifizierung funktioniert, wenn ich es nicht vergesse über dieses WWW-Authenticate header (was es scheint, Microsoft hat den auch). Aber das ist das Problem. Wenn ich nicht senden Sie zurück WWW-Authenticate header der web-browser zeigt auch nicht seine standard - "Anmeldung" - dialog. Der Benutzer wird lediglich vor 401 Unauthorized Fehler-Seite mit keinen Weg, um tatsächlich anmelden.

REST-services zugänglich sein sollten, um beide Computer und Mensch (naja zumindest auf den GET-request level). Deshalb habe ich das Gefühl, dass WCF REST ist nicht die Einhaltung grundlegender Bestandteil der REST hier. Hat jemand mit mir einverstanden?

Hat jemand Basic-Authentifizierung funktioniert mit einem selbst-gehosteten WCF REST service? Wenn ja, wie haben Sie es tun?

PS: Natürlich sind meine Absichten zu nutzen unsicheren Basic-Authentifizierung sind auf der Prämisse, dass ich auch bekommen, HTTPS/SSL arbeiten für meinen Dienst. Aber das ist eine andere Sache.

PPS: ich habe versucht, WCF REST-Contrib (http://wcfrestcontrib.codeplex.com/) und das hat genau das gleiche Problem. Es scheint, dass diese Bibliothek wurde nicht getestet, in der self-hosted-Szenarien.

Dank.

InformationsquelleAutor nbevans | 2010-02-04
Schreibe einen Kommentar