【发布时间】:2014-10-15 20:07:30
【问题描述】:
我看到了这个问题。但答案对我不起作用。
我创建了一个空的 asp.net 网站。 .NET 4.5
我通过 Install-Package Microsoft.AspNet.Identity.Sample -pre 在 nuget 中安装了示例
我无法让初始化程序运行。所以我做了以下
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
Database.SetInitializer<ApplicationDbContext>(new ApplicationDbInitializer());
this.Database.Initialize(true);
}
static ApplicationDbContext()
{
// Set the database intializer which is run once during application start
// This seeds the database with admin user credentials and admin role
//
}` `
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
角色管理器始终为空。我尝试了其他答案,但它们从未奏效。除了上面显示的内容外,我没有更改示例。那么为什么它不起作用呢?数据库和表是创建的。角色管理器在下面使用,为空。
public static void InitializeIdentityForEF(ApplicationDbContext db)
{
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>();
const string name = "admin@example.com";
const string password = "Admin@123456";
const string roleName = "Admin";
//Create Role Admin if it does not exist
var role = roleManager.FindByName(roleName);
if (role == null)
【问题讨论】:
-
使用 RoleManager 的代码 sn-p 在哪里?
-
添加了它。您可以看到它只是示例中的样板代码。加上 web.config 中的 owin:Startup 也没有改变
-
我也有同样的问题...
标签: c# asp.net asp.net-identity