2010-02-17 9 views
2

J'ai activé Roles dans mon application Web ASP.NET, mais je suis un peu confus quant à l'endroit où ils sont stockés. Dans mon ancien projet, chaque rôle apparaissait dans la table ASP.NET Roles et je pouvais les voir. Toutefois, dans mon nouveau projet, je ne peux pas voir de rôles dans la table de base de données. La chose étrange est, je peux toujours les utiliser (et l'API Roles/Membership par défaut) et tout fonctionne bien. Des idées pour lesquelles ils n'apparaissent pas dans la table de la base de données et où ils sont stockés?Où sont stockés mes rôles?

Mon fichier web.config a ceci:

<roleManager enabled="true" /> 

Utilisation de l'outil de configuration ASP.NET, mon fournisseur par défaut de rôle est AspNetSqlRoleProvider.

Merci Update j'ajouté explicitement dans mon web.confg

<roleManager enabled="true" > 

     <providers> 
     <clear/> 
     <add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/> 
     </providers> 
    </roleManager> 
+0

@Skoder pouvez-vous montrer votre web.config? – Adeel

Répondre

2

Par défaut, il utilise la base de données locale à moins que les points de fournisseur de rôle à une base de données en utilisant une connexion de base de données. Si vous configurez les tables dans votre propre base de données personnalisée et non le fichier ASPNETDB.mdf, vous devrez configurer une définition de fournisseur personnalisée pointant vers SQLroleprovider et fournir une référence de chaîne de connexion personnalisée à l'emplacement de la base de données.

HTH.

+1

Ah, c'est réglé. J'ai ajouté les détails du fournisseur dans la section roleManager. Étrange, il n'apparaissait pas automatiquement comme dans mon projet précédent, je n'avais pas ajouté explicitement quelque chose, mais c'était par défaut. Eh bien, merci pour l'aide! – Skoder

0

Dans votre base de données des membres de asp.net sont deux tables: aspnet_Roles contient les rôles et aspnet_UsersInRoles contient l'association des utilisateurs avec des rôles .

+0

C'est ce à quoi je m'attendais, mais il n'y a rien là-dedans. – Skoder

+0

Avez-vous exécuté l'utilitaire aspnet_reqsql et sélectionné les tables de rôles pour la génération? – Residuum

0

il va construire son propre base de données dans le dossier App_Data et créer les tables nécessaires y

+0

Il n'y a rien dans mon dossier App_Data. J'ai mis à jour mes balises pour montrer que j'utilise SQL Server 2005 (j'ai oublié de le mettre) – Skoder

+0

exécutez cette aspnet_regsql jusqu'à ce que vous le trouviez créé une base de données appelée aspnetdb –

+0

Salut, j'ai déjà les tables d'adhésion asp. Les utilisateurs que je crée apparaissent dans les tableaux et je peux y accéder. Je peux également accéder aux rôles, mais ils n'apparaissent pas dans les tableaux. – Skoder

Questions connexes