Според коментара ви изглежда, че не сте конфигурирали изрично доставчик на роли за вашия сайт.
Ако всичко, което е във вашия web.config е:
<roleManager enabled="true" />
Тогава вие разчитате на доставчиците по подразбиране, декларирани по-нагоре в конфигурационната йерархия (machine.config, глобален web.config и т.н.)
В machine.config вероятно имате нещо като:
<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>
Както можете да видите, първият доставчик е конфигуриран да използва connectionString, наречен LocalSqlServer - който също обикновено се декларира в machine.config:
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
И това е проектирано да използва локална файлова база данни, която ще бъде създадена, ако все още не съществува.
Така че, за да накарате ролите да работят на вашия сайт, трябва да промените своя root web.config на нещо като:
<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>
Използването на елемента