Где хранятся мои Роли?
-
21-09-2019 - |
Вопрос
Я включил Roles
в моем веб-приложении ASP.NET, но я немного запутался относительно того, где они хранятся.В моем старом проекте каждая роль отображалась в таблице ASP.NET Роли, и я мог их видеть.Однако в моем новом проекте я не вижу никаких Ролей в таблице базы данных.Странно то, что я все еще могу использовать их (и API ролей / членства по умолчанию), и все работает нормально.Есть какие-нибудь идеи, почему они не отображаются в самой таблице базы данных и где они на самом деле хранятся?
Мой web.config
файл содержит это:
<roleManager enabled="true" />
Используя инструмент настройки ASP.NET моим поставщиком ролей по умолчанию является AspNetSqlRoleProvider
.
Спасибо Обновить Я добавил это явно в свой web.confg
<roleManager enabled="true" >
<providers>
<clear/>
<add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
</providers>
</roleManager>
Решение
По умолчанию он использует локальную базу данных, если только поставщик роли не указывает на базу данных, использующую другое подключение к базе данных.
Если вы настраиваете таблицы в своей собственной пользовательской базе данных, а не в файле ASPNETDB.mdf, то вам нужно будет настроить определение пользовательского поставщика, указывающее на SqlRoleProvider, и предоставить ссылку на пользовательскую строку подключения к тому, где находится база данных.
ХТХ.
Другие советы
В вашей базе данных членства asp.net есть две таблицы:aspnet_Roles содержит роли, а aspnet_UsersInRoles содержит ассоциацию пользователей с ролями.
он создаст свою СОБСТВЕННУЮ базу данных в папке App_Data и создаст там необходимые таблицы