D'après votre commentaire, il semble que vous n'ayez pas explicitement configuré de fournisseur de rôles pour votre site.
Si tout ce qui se trouve dans votre web.config est :
<roleManager enabled="true" />
Ensuite, vous vous appuyez sur les fournisseurs par défaut déclarés plus haut dans la hiérarchie de configuration (machine.config, global web.config, etc.)
Dans machine.config, vous avez probablement quelque chose comme :
<roleManager>
<providers>
<add name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add name="AspNetWindowsTokenRoleProvider"
applicationName="/"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
Comme vous pouvez le voir, le premier fournisseur est configuré pour utiliser une chaîne de connexion appelée LocalSqlServer - qui est également généralement déclarée dans le fichier machine.config :
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
Et ceci est conçu pour utiliser une base de données locale basée sur des fichiers qui sera créée si elle n'existe pas déjà.
Donc, pour que les rôles fonctionnent sur votre site, vous devez modifier votre racine web.config en quelque chose comme :
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="YourConnectionStringName"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
L'utilisation de l'élément