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