我按照本指南为我正在开发的网站添加安全性:
ASP.NET MVC 5 Security And Creating User Role
问题在于,当我开始使用它时,我在应用程序中有两个连接字符串:defaultconnection和真正的连接字符串(由我创建)。
我已经替换了默认设置,无论它在哪里使用,现在当我尝试启动应用程序并运行代码来创建用户角色时:
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
createRolesandUsers();
}
// In this method we will create default User roles and Admin user for login
private void createRolesandUsers()
{
DatabaseContext db = new DatabaseContext();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
if (!roleManager.RoleExists("Admin"))
{
var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
role.Name = "Admin";
roleManager.Create(role);
}
总是失败:
if (!roleManager.RoleExists("Admin"))
错误:
实体类型IdentityRole不是当前上下文的模型的一部分。
我在defaultconnection数据库(我已经删除)中看到有几个与Users相关的表。
我希望应用程序也可以在新数据库中创建它们,但它无法正常工作。
我已经检查了几个问题并发布了相同的错误,但它们似乎都没有解决我的错误......
关于如何解决这个问题的任何想法?