Partager via


Comment : activer le service d'authentification de WCF

Mise à jour : novembre 2007

Cette rubrique explique comment configurer le service d'authentification ASP.NET sur un serveur Web pour le rendre disponible aux clients en tant que service Windows Communication Foundation (WCF). Cette rubrique présente également la configuration de l'authentification par formulaire ASP.NET.

Pour plus d'informations sur la configuration de l'appartenance d'ASP.NET, consultez Configuration d'une application ASP.NET pour utiliser l'appartenance (membership).

Pour activer le service d'authentification

  1. Si vous n'avez pas encore d'application Web ASP.NET, créez-en une.

  2. Ajoutez un fichier de service (.svc) au site Web qui contient la directive suivante pour référencer la classe AuthenticationService, comme illustré dans l'exemple suivant :

    <%@ ServiceHost 
      Language="VB"
      Service="System.Web.ApplicationServices.AuthenticationService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost 
      Language="C#"
      Service="System.Web.ApplicationServices.AuthenticationService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  3. Définissez les paramètres de configuration suivants dans le fichier Web.config pour configurer le service et pour exiger l'utilisation de SSL :

    • Activez le service d'authentification dans l'élément authenticationService.

    • Définissez le contrat de point de terminaison dans l'élément services et le comportement de service dans l'élément behaviors. Incluez la propriété bindingNamespace dans le contrat de point de terminaison, comme illustré dans l'exemple suivant, pour éviter la génération d'erreurs dans certains outils de génération de proxy. Pour plus d'informations sur les points de terminaison WCF, consultez Windows Communication Foundation Endpoints.

    • Configurez l'élément serviceHostingEnvironment pour la compatibilité ASP.NET. Pour plus d'informations sur l'hébergement de services WCF, consultez WCF Services and ASP.NET.

    • Créez une liaison dans l'élément bindings, qui requiert SSL. Pour plus d'informations sur la sécurité du transport dans WCF, consultezTransport Security.

    L'exemple suivant présente l'élément system.serviceModel d'un fichier Web.config qui affiche les paramètres de configuration décrits dans la liste précédente.

    <system.web.extensions>
      <scripting>
        <webServices>
          <authenticationService enabled="true" 
             requireSSL = "true"/>
        </webServices>
      </scripting>
    </system.web.extensions>
    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.AuthenticationService"
            behaviorConfiguration="AuthenticationServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.AuthenticationService"
            binding="basicHttpBinding"
            bindingConfiguration="userHttps" 
            bindingNamespace="https://asp.net/ApplicationServices/v200"/>
          </service>
      </services>
      <bindings>
            <basicHttpBinding>
                <binding name="userHttps">
                    <security mode="Transport" />
                </binding>
            </basicHttpBinding>
      </bindings>
      <behaviors>
        <serviceBehaviors>
          <behavior name="AuthenticationServiceTypeBehaviors">
            <serviceMetadata httpGetEnabled="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment 
        aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
    

Pour configurer l'authentification par formulaire

  • Dans le fichier Web.config, configurez l'application Web pour utiliser l'authentification par formulaire.

    L'exemple suivant présente l'élément authentication dans un fichier Web.config configuré pour utiliser l'authentification par formulaire.

    <authentication mode="Forms">
      <forms cookieless="UseCookies" />
    </authentication>
    

    Le service d'authentification requiert des cookies. Par conséquent, dans l'élément authentication, affectez à l'attribut cookieless la valeur « UseCookies ». Pour plus d'informations, consultez Vue d'ensemble de l'authentification par formulaire ASP.NET.

Sécurité

Si vous transmettez des données utilisateur sensibles, telles que les informations d'authentification, accédez toujours au service d'authentification par SSL (en utilisant le protocole HTTPS). Pour plus d'informations sur la configuration de SSL, consultez Configuration de SSL (Secure Sockets Layer) (Guide des opérations IIS 6.0).

Voir aussi

Tâches

Procédure pas à pas : utilisation de services d'application ASP.NET

Concepts

Vue d'ensemble du service d'authentification de Windows Communication Foundation

Autres ressources

Configuration des services