繁体   English   中英

ASP.NET角色保存在哪里?

[英]Where are ASP.NET roles saved?

我正在尝试使用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 Initialize方法中添加了一个角色,例如:

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

问题:当我第一次运行此程序时,一切都很好。 当我更改模型并再次运行初始化方法时,我收到一个错误消息,该角色已经存在。 我使用服务器资源管理器浏览了数据库,但是AspNetRoles和AspNetUserRoles都是空的。 角色保存在哪里? 在与我的数据库相同的文件夹中,还有另一个数据库,称为aspnetdb.mdf。

我试图使用SysTools MDF Viewer 1.0打开它,但是格式无效。

奖励问题:我在另一个项目中也进行了一些测试。 这将重新创建数据库并运行相同的测试。 我的问题是我收到此错误:

System.Configuration.Provider.ProviderException: The Role Manager feature has not been enabled.

尽管我在app.config中为unittest项目添加了相同的条目。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM