Question

Je construis un webservice qui doit être accessible à une variété de plates-formes possibles, y compris un certain nombre d'anciennes applications ASP et ASP .NET. Après quelques recherches, je me suis installé sur un service WCF à la fois un point de terminaison de repos (webHttpBinding) et SOAP (wsHttpBinding) (cette façon, je peux soutenir un large éventail de plates-formes et de faire encore les codeurs .NET heureux).

Pour plus de sécurité, j'utilise le protocole SSL et authentification HTTP de base contre ma propre base de données de nom d'utilisateur / mot de passe. J'ai donc écrit un HttpModule pour gérer les noms d'utilisateur et les mots de passe et vérifier SSL. Maintenant, la configuration REST fonctionne parfaitement, mais je vais avoir des problèmes avec le point de terminaison SOAP. Peu importe ce que j'utilise les paramètres, le client SOAP me envoie jamais un en-tête WWW-autorisation que je peux utiliser pour authentifier. Je suppose que la mise en quelque chose comme <message clientCredentialType="UserName" /> devrait dire WCF que j'attends un en-tête d'autorisation, et que l'information sera reprise par Visual Studio (ou tout autre client) lorsqu'il crée une référence Web. Peut-être que je suis juste désespérément naïf.

Donc, pour résumer la question suivante: est-il possible que je peux dire WCF pour me envoyer un en-tête WWW-autorisation (c.-à-un en-tête HTTP de base) ainsi que les messages de savon

?
Était-ce utile?

La solution

Vous pouvez créer des en-têtes personnalisés pour votre authentification.

Regardez ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top