ASP在哪里?NET角色保存

本文关键字:角色 保存 NET 在哪里 ASP | 更新日期: 2023-09-27 18:19:01

我正在尝试使用ASP。. NET MVC角色。我在web.config中添加了一个条目:

  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)'v11.0;AttachDbFilename=|DataDirectory|'resorg-db.mdf;Integrated Security=True"/>
  </connectionStrings>
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <roleManager enabled="true" />
  </system.web>

我没有启用迁移,现在我更喜欢在每次模型更改时重新创建DB。

我通过编程方式在DB中添加一个角色Initialize方法,如:

Roles.CreateRole("root");
Roles.AddUserToRole(testUser.UserName, "root");
context.SaveChanges();

问题:当我第一次运行这个时,一切都很好。当我更改模型并再次运行初始化方法时,我得到一个错误,认为角色已经存在。我用服务器资源管理器查看了数据库,但是aspnettroles和AspNetUserRoles都是空的。角色保存在哪里?在与我的数据库相同的文件夹中有另一个数据库,名为aspnetdb.mdf。

我尝试使用SysTools MDF Viewer 1.0打开它,但我得到无效的格式。

附加问题:我在另一个项目中也有一些测试。这将重新创建数据库并运行相同的测试。我的问题是我得到了这个错误:
System.Configuration.Provider.ProviderException: The Role Manager feature has not been enabled.

ASP在哪里?NET角色保存

发现问题:我需要将连接字符串添加到roleManager条目中。如果没有连接字符串,ASP.net将创建一个不同的DB来存储角色。看到ASP。网络成员:保存在不同数据库中的角色