Comment : utiliser le fournisseur de rôle ASP.NET avec un service
Le fournisseur de rôle ASP.NET (conjointement au fournisseur d'appartenances ASP.NET ) est une fonctionnalité qui permet aux développeurs ASP.NET de créer des sites Web permettant aux utilisateurs de créer un compte avec un site et d'être affectés d'un rôle à des fins d'autorisation. Grâce à cette fonctionnalité, les utilisateurs peuvent établir un compte avec le site et disposer d'un accès exclusif à celui-ci et à ses services. Cette approche diffère de la sécurité Windows, qui requiert que les utilisateurs disposent de comptes dans un domaine Windows. Au lieu de cela, tout utilisateur qui fournit ses informations d'identification (combinaison nom d'utilisateur/mot de passe) peut utiliser le site et ses services.
Pour obtenir un exemple d'application, consultez Membership and Role Provider. Pour plus d'informations sur la fonctionnalité de fournisseur d'appartenances ASP.NET, consultez Comment : utiliser le fournisseur d'appartenances ASP.NET.
La fonctionnalité de fournisseur de rôle utilise une base de données SQL Server pour stocker des informations utilisateur. Les développeurs Windows Communication Foundation (WCF) peuvent tirer parti de ces fonctionnalités à des fins de sécurité. En cas d'intégration dans une application WCF, les utilisateurs doivent fournir une combinaison nom d'utilisateur/mot de passe à l'application cliente WCF. Pour permettre à WCF d'utiliser la base de données, vous devez créer une instance de la classe ServiceAuthorizationBehavior, affectez à sa propriété PrincipalPermissionMode la valeur UseAspNetRoles et ajoutez l'instance à la collection de comportements au ServiceHost qui héberge le service.
Pour configurer le fournisseur de rôle
Dans le fichier Web.config, sous l'élément <system.web>, ajoutez un élément <roleManager> et affectez à son attribut enabled la valeur true.
Affectez à l'attribut defaultProvider la valeur SqlRoleProvider.
Ajoutez un élément <providers> en tant qu'enfant de l'élément <roleManager>.
Ajoutez un élément <add> en tant qu'enfant de l'élément <providers>, avec les attributs suivants définis aux valeurs appropriées : name, type, connectionStringNameet applicationName, comme illustré dans l'exemple suivant.
<!-- Configure the Sql Role Provider. --> <roleManager enabled ="true" defaultProvider ="SqlRoleProvider" > <providers> <add name ="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlConn" applicationName="MembershipAndRoleProviderSample"/> </providers> </roleManager>
Pour configurer le service pour utiliser le fournisseur de rôle
Dans le fichier Web.config, ajoutez un élément <system.ServiceModel>.
Ajoutez un élément <behaviors> à l'élément <system.ServiceModel>.
Ajoutez un serviceBehaviors section à l'élément <behaviors>.
Ajoutez un élément Behavior element et affectez une valeur appropriée à l'attribut name.
Ajoutez un <serviceAuthorization> element à l'élément <behavior>.
Affectez à l'attribut principalPermissionMode la valeur UseAspNetRoles.
Affectez à l'attribut roleProviderName la valeur SqlRoleProvider. L'exemple suivant présente un fragment de la configuration.
<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceAuthorization principalPermissionMode ="UseAspNetRoles" roleProviderName ="SqlRoleProvider" /> </behavior> </serviceBehaviors> </behaviors>
Voir aussi
Tâches
Comment : utiliser le fournisseur d'appartenances ASP.NET