2008-11-26 3 views
3

Je développe une application serveur utilisant WCF pour exposer les points de terminaison WebService pour les clients. Je souhaite implémenter l'authentification via un fournisseur personnalisé simple qui utilisera le nom d'utilisateur et le mot de passe transmis via les en-têtes SOAP. Je sais comment définir le nom d'utilisateur et le mot de passe à envoyer sur le client, je veux juste savoir comment extraire le nom d'utilisateur et le mot de passe de l'en-tête SOAP du côté serveur. Toute aide serait grandement appréciée.WCF et l'authentification du savon personnalisé

Répondre

3

Vous devez spécifier le nom d'utilisateur et mot de passe validateur dans le comportement de service

<behavior name="MyServiceBehavior"> 
    <serviceCredentials> 
    <userNameAuthentication userNamePasswordValidationMode="Custom" 
     customUserNamePasswordValidatorType="MyNamespace.MyUserNamePasswordValidator, MyDll" /> 
    </serviceCredentials> 
</behavior> 

vous pouvez accéder au nom d'utilisateur et mot de passe classe MyUserNamePasswordValidator

public class MyUserNamePasswordValidator : UserNamePasswordValidator 
{ 
    public override void Validate(string userName, string password) 
    { 
     // valid your password here 
    } 
} 
+0

Je suis vos conseils mais ne le peuvent pas obtenir la méthode Validate appelée. J'ai besoin d'envoyer un nom d'utilisateur et un mot de passe sans avoir besoin de HTTPS et sans avoir besoin d'un certificat installé sur le serveur, en utilisant basicHttpBinding. – Lester

Questions connexes