2010-06-04 5 views
1

J'ai un service WCF auto-hébergé dans une application console. Je dois utiliser un validateur de nom d'utilisateur et de mot de passe personnalisé (j'ai écrit une classe qui hérite de UserNamePasswordValidator à cette fin). Je dois utiliser http (pas https). Quelle est la bonne configuration (en terme de type de liaison, mode de sécurité) pour configurer cette configuration? Merci à l'avance ... Andrea CConfiguration de sécurité WCF

Répondre

1

Vous comprenez qu'en utilisant HTTP au lieu de HTTPS, le nom d'utilisateur et le mot de passe seront envoyés sur le réseau en texte clair et pourraient être facilement reniflés?

Si vous utilisez .NET 3.5, vous pouvez choisir de sécuriser le message ou le canal de transport en utilisant un UserNamePasswordValidator personnalisé. Si vous utilisez .NET 3.0, vous pouvez uniquement utiliser la sécurité des messages avec un UserNamePasswordValidator personnalisé. See How to: Use a Custom User Name and Password Validator pour plus d'informations. Par exemple, si vous utilisez .NET 3.5 et que vous souhaitez utiliser la sécurité du transport, vous pouvez utiliser la configuration suivante. Vous devez vous rappeler d'ajouter un comportement de service qui permet à WCF de connaître votre classe personnalisée UserNamePasswordValidator.

<system.serviceModel> 
    <bindings> 
    <wsHttpBinding> 
     <binding name="Binding1"> 
     <security mode="Transport"> 
      <transport clientCredentialType="Basic" /> 
     </security> 
     </binding>   
    </wsHttpBinding> 
    </bindings> 

    <behaviors> 
    <serviceCredentials> 
     <userNameAuthentication userNamePasswordValidationMode="Custom" 
           customUserNamePasswordValidatorType="** The fully qualified type name for your UserNamePasswordValidator **" /> 
    </serviceCredentials> 
    </behaviors> 
</system.serviceModel> 
Questions connexes