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
Si vous n'avez pas encore d'application Web ASP.NET, créez-en une.
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).
Activez des rôles dans l'application Web. Pour plus d'informations, consultez Présentation de la gestion des rôles.
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.
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" %>
Enregistrez le fichier .svc et fermez-le.
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