Вопрос

Я включил 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 и создаст там необходимые таблицы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top