Partager via


Comment : activer le service de rôle de WCF

Mise à jour : novembre 2007

Cette rubrique explique comment configurer le service de rôle ASP.NET sur un serveur Web pour le rendre disponible aux clients qui utilisent Windows Communication Foundation (WCF).

Remarque :

Si un nom de rôle peut être utilisé par un utilisateur malveillant pour exposer des données sensibles, ou si le nom de rôle est stocké dans un cookie persistant, accédez au service de rôle sur la couche de sockets sécurisée (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) et Configuration de SSL (Secure Sockets Layer) dans IIS 7.0 (en anglais) sur le site Web Microsoft.

Pour configurer le service de rôle ASP.NET en tant que service WCF

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

  2. Activez l'authentification par formulaire dans l'application Web. Pour plus d'informations, consultez Configuration d'une application ASP.NET pour utiliser l'appartenance (membership).

  3. Activez des rôles dans l'application Web. Pour plus d'informations, consultez Présentation de la gestion des rôles.

  4. Offrez un moyen aux utilisateurs de se connecter à l'application Web.

    En récupérant des rôles à travers le service de rôle WCF, vous pouvez également connecter des utilisateurs à l'aide du service d'authentification WCF. Pour plus d'informations sur l'installation du service d'authentification WCF, consultez Comment : activer le service d'authentification de WCF.

  5. Ajoutez un fichier de service (.svc) au site Web qui contient la directive suivante pour référencer la classe RoleService :

    <%@ ServiceHost 
      Language="VB"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost 
      Language="C#"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  6. Enregistrez le fichier .svc et fermez-le.

  7. 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 de rôle dans l'élément roleService.

    • 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 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 Services WCF et 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>
          <roleService enabled="true"/>
        </webServices>
      </scripting>
    </system.web.extensions>
    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.RoleService"
            behaviorConfiguration="ApplicationServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.RoleService"
            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="ApplicationServiceTypeBehaviors">
            <serviceMetadata httpGetEnabled="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment
        aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
    

Sécurité

Si vous travaillez avec des données utilisateur sensibles, accédez au service d'authentification sur la couche de sockets sécurisée (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) et Configuration de SSL (Secure Sockets Layer) dans IIS 7.0 (en anglais) sur le site Web Microsoft.

Voir aussi

Tâches

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

Concepts

Vue d'ensemble du service de rôle de Windows Communication Foundation

Autres ressources

Configuration des services