2009-04-01 7 views
1

Quels sont les points de configuration importants nécessaires pour permettre à un scénario où un service WCF peut être appelé avec soit les fenêtres connectés sur les utilisateurs d'informations d'identification ou une combinaison nom d'utilisateur/mot de passe. Je suis assez sûr que je sais comment les configurer, mais ce que je ne sais pas, c'est comment je peux forcer l'utilisation du point de terminaison de nom d'utilisateur/mot de passe.WCF - permettent l'authentification Windows et nom d'utilisateur

S'agit-il simplement d'utiliser le constructeur qui vous permet de spécifier un point de terminaison particulier, puis de définir ClientCredentials.UserName.UserName et .Password?

Merci.

Répondre

0

Tant que vos points de terminaison clients de configuration existent dans la configuration et sont configurés pour la méthode d'authentification relevent, vous avez raison, il est aussi simple comme spécifiant le nom de la configuration dans le constructeur et fournissant le uname/pwd au client.

0

Vous avez simplement besoin de changer la liaison sur le point final;

<wsHttpBinding> 
    <binding name="WSHttpUserName"> 
    <security> 
     <transport clientCredentialType="None" /> 
     <message clientCredentialType="UserName" /> 
    </security> 
    </binding> 
</wsHttpBinding> 

Maintenant, si vous voulez les fenêtres automatiques authentification alors vous aurez besoin d'un autre point de terminaison, avec un autre liant au clientCredentialType de « Windows »

Ou vous pouvez le mettre dans le transport et non le message, mais dans tous les cas, vous aurez besoin de SSL pour l'authentification du nom d'utilisateur.

0

Il existe une section de sécurité dans la configuration de liaison pour les services. Là, vous pouvez choisir le mode de sécurité (None/Transport/Message/TransportWithMessageCredential) que vous voulez utiliser, puis pour chaque mode particulier, vous pouvez personnaliser les paramètres de sécurité (des choses comme le type d'identifiant - UserName/Windows/Certificate etc.). Ensuite, côté client, vous devez configurer les liaisons en fonction de la configuration du type de mode de sécurité que vous souhaitez utiliser et du type d'identité. Vous pouvez le configurer également à partir de votre code ou en utilisant un fichier de configuration.

Il existe un très bon guide de sécurité WCF de MS Patterns & Pratiques. Voici le lien: http://www.codeplex.com/WCFSecurityGuide

Il a beaucoup de HoTos pour des scénarios particuliers. Par exemple la procédure pas à pas d'ici sur la façon dont vous configurez netTcpBinding avec l'authentification Windows et la sécurité des messages de WinForms: http://wcfsecurityguide.codeplex.com/Wiki/View.aspx?title=How%20To%20-%20Use%20netTcpBinding%20with%20Windows%20Authentication%20and%20Message%20Security%20in%20WCF%20from%20Windows%20Forms