Question

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 apparaît dans le tableau des rôles ASP.NET, et je pouvais les voir. Cependant, dans mon nouveau projet, je ne vois pas les rôles dans la table de base de données. La chose étrange est, je peux toujours les utiliser (et les rôles par défaut / API d'adhésion) et tout fonctionne bien. Toutes les idées pour lesquelles ils ne sont pas la table de apparaissent base de données elle-même, et où ils sont effectivement stockés?

Mon fichier web.config a ceci:

<roleManager enabled="true" />

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

Merci Mise à jour J'ai ajouté explicitement dans mon web.confg

 <roleManager enabled="true" >

      <providers>
        <clear/>
        <add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
      </providers>
    </roleManager>
Était-ce utile?

La solution

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, alors vous devrez configurer une définition fournisseur personnalisé pointant vers le SqlRoleProvider, et fournir une référence de chaîne de connexion personnalisée à l'endroit où la base de données est.

HTH.

Autres conseils

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

.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top