Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
SqlRoleProvider, classe
Gère le stockage des informations d'appartenance aux rôles pour une application ASP.NET dans une base de données SQL Server.
System.Configuration.Provider.ProviderBase
System.Web.Security.RoleProvider
System.Web.Security.SqlRoleProvider
Assembly : System.Web (dans System.Web.dll)
Le type SqlRoleProvider expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
ApplicationName | Obtient ou définit le nom de l'application pour laquelle stocker ou récupérer des informations de rôle. (Substitue RoleProvider.ApplicationName.) |
|
Description | Obtient une description brève et conviviale qui peut s'afficher dans les outils d'administration ou d'autres interfaces utilisateur. (Hérité de ProviderBase.) |
|
Name | Obtient le nom convivial qui référence le fournisseur au cours de la configuration. (Hérité de ProviderBase.) |
| Nom | Description | |
|---|---|---|
|
AddUsersToRoles | Ajoute le nom des utilisateurs spécifiés à chacun des rôles spécifiés. (Substitue RoleProvider.AddUsersToRoles(String[], String[]).) |
|
CreateRole | Ajoute un nouveau rôle à la base de données des rôles. (Substitue RoleProvider.CreateRole(String).) |
|
DeleteRole | Supprime un rôle de la base de données. (Substitue RoleProvider.DeleteRole(String, Boolean).) |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
FindUsersInRole | Obtient un tableau des noms d'utilisateurs figurant dans un rôle, dans lequel le nom d'utilisateur contient le nom d'utilisateur spécifié correspondant. (Substitue RoleProvider.FindUsersInRole(String, String).) |
|
GetAllRoles | Obtient la liste de tous les rôles pour l'application. (Substitue RoleProvider.GetAllRoles().) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetRolesForUser | Obtient une liste des rôles dans lesquels figure l'utilisateur. (Substitue RoleProvider.GetRolesForUser(String).) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetUsersInRole | Obtient une liste des utilisateurs du rôle spécifié. (Substitue RoleProvider.GetUsersInRole(String).) |
|
Initialize | Initialise le fournisseur de rôles SQL Server à l'aide des valeurs de propriété spécifiées dans le fichier de configuration de l'application ASP.NET. Cette méthode n'est pas destinée à être utilisée directement à partir de votre code. (Substitue ProviderBase.Initialize(String, NameValueCollection).) |
|
IsUserInRole | Obtient une valeur indiquant si l'utilisateur spécifié figure dans le rôle spécifié. (Substitue RoleProvider.IsUserInRole(String, String).) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
RemoveUsersFromRoles | Supprime les noms d'utilisateurs spécifiés des rôles spécifiés. (Substitue RoleProvider.RemoveUsersFromRoles(String[], String[]).) |
|
RoleExists | Obtient une valeur qui indique si le nom de rôle spécifié existe déjà dans la base de données des rôles. (Substitue RoleProvider.RoleExists(String).) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Cette classe est utilisée par les classes Roles et RolePrincipal pour fournir des services de gestion des rôles à une application ASP.NET utilisant une base de données SQL Server. Vous pouvez utiliser la gestion des rôles pour spécifier différents niveaux d'autorisation pour votre application.
Pour utiliser la classe SqlRoleProvider, vous devez tout d'abord créer la base de données SQL Server utilisée par le SqlRoleProvider. Pour créer la base de données utilisée par la classe SqlRoleProvider, lancez le fichier exécutable aspnet_regsql.exe figurant dans le dossier C:\WINDOWS\Microsoft.NET\Framework\versionNumber et spécifiez l'option -Ar (par exemple, aspnet_regsql.exe -Ar). La base de données créée porte le nom Aspnetdb. Une autre méthode consiste à exécuter aspnet_regsql.exe pour appeler le mode de configuration d'interface graphique utilisateur et à choisir de configurer toutes les fonctionnalités ASP.NET.
Si le fournisseur de rôles est configuré avec une chaîne de connexion à sécurité intégrée, le compte de processus de l'application ASP.NET doit disposer du droit de se connecter à la base de données SQL Server.
Le fichier Machine.config est configuré avec une instance de SqlRoleProvider nommée AspNetSqlProvider qui se connecte au SQL Server sur l'ordinateur local. Vous pouvez utiliser cette instance du fournisseur ou spécifier votre propre instance dans le fichier Web.config de votre application ASP.NET. Pour utiliser l'instance AspNetSqlProvider, spécifiez AspNetSqlProvider comme defaultProvider dans votre configuration de roleManager.
Vous pouvez configurer le SqlRoleProvider pour qu'il utilise la même base de données et les mêmes informations utilisateur que le SqlMembershipProvider, afin de n'utiliser qu'une seule base de données pour les informations d'identification et d'autorisation. Pour utiliser la même base de données pour les informations d'appartenance et de rôle, lancez l'exécutable aspnet_regsql.exe et installez la fonctionnalité d'appartenance. Spécifiez ensuite dans votre configuration la même chaîne de connexion pour vos instances de SqlRoleProvider et de SqlMembershipProvider. Vérifiez également que les deux instances fournisseur sont configurées avec le même ApplicationName.
L'exemple suivant montre le fichier Web.config d'une application ASP.NET configurée pour utiliser un objet SqlRoleProvider et le SqlMembershipProvider. L'élément authorization est configuré pour n'autoriser l'accès qu'aux utilisateurs authentifiés figurant dans le rôle Administrateurs.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="logincs.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?" />
<allow roles="Administrators" />
<deny users="*" />
</authorization>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="false"
requiresQuestionAndAnswer="false"
passwordFormat="Hashed"
applicationName="SampleApplication" />
</providers>
</membership>
<roleManager defaultProvider="SqlProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="true"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="SqlServices"
applicationName="SampleApplication" />
</providers>
</roleManager>
</system.web>
</configuration>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.