Podle vašeho komentáře to vypadá, že jste pro svůj web explicitně nenakonfigurovali poskytovatele rolí.
Pokud vše, co je ve vašem web.config, je:
<roleManager enabled="true" />
Pak se spoléháte na výchozí poskytovatele deklarované dále v hierarchii konfigurace (machine.config, global web.config atd.)
V machine.config pravděpodobně máte něco jako:
<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>
Jak vidíte, první poskytovatel je nakonfigurován tak, aby používal connectionString nazvaný LocalSqlServer – který je také obvykle deklarován v machine.config:
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
A toto je navrženo pro použití lokální databáze založené na souborech, která bude vytvořena, pokud ještě neexistuje.
Aby tedy role na vašem webu fungovaly, měli byste svůj kořenový web.config upravit na něco jako:
<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>
Použití prvku