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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

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.Object
  System.Configuration.Provider.ProviderBase
    System.Web.Security.RoleProvider
      System.Web.Security.SqlRoleProvider

Espace de noms :  System.Web.Security
Assembly :  System.Web (dans System.Web.dll)
public class SqlRoleProvider : RoleProvider

Le type SqlRoleProvider expose les membres suivants.

  Nom Description
Méthode publique SqlRoleProvider Crée une instance de la classe SqlRoleProvider.
Début
  Nom Description
Propriété publique 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.)
Propriété publique 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.)
Propriété publique Name Obtient le nom convivial qui référence le fournisseur au cours de la configuration. (Hérité de ProviderBase.)
Début
  Nom Description
Méthode publique AddUsersToRoles Ajoute le nom des utilisateurs spécifiés à chacun des rôles spécifiés. (Substitue RoleProvider.AddUsersToRoles(String[], String[]).)
Méthode publique CreateRole Ajoute un nouveau rôle à la base de données des rôles. (Substitue RoleProvider.CreateRole(String).)
Méthode publique DeleteRole Supprime un rôle de la base de données. (Substitue RoleProvider.DeleteRole(String, Boolean).)
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée 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.)
Méthode publique 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).)
Méthode publique GetAllRoles Obtient la liste de tous les rôles pour l'application. (Substitue RoleProvider.GetAllRoles().)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetRolesForUser Obtient une liste des rôles dans lesquels figure l'utilisateur. (Substitue RoleProvider.GetRolesForUser(String).)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetUsersInRole Obtient une liste des utilisateurs du rôle spécifié. (Substitue RoleProvider.GetUsersInRole(String).)
Méthode publique 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).)
Méthode publique IsUserInRole Obtient une valeur indiquant si l'utilisateur spécifié figure dans le rôle spécifié. (Substitue RoleProvider.IsUserInRole(String, String).)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique RemoveUsersFromRoles Supprime les noms d'utilisateurs spécifiés des rôles spécifiés. (Substitue RoleProvider.RemoveUsersFromRoles(String[], String[]).)
Méthode publique 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).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

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>

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

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.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,