【发布时间】:2015-04-30 17:28:00
【问题描述】:
我需要为数据库中的第一个用户创建“管理员”角色。这是我的代码:
public static void SetAdminForTheFirstUser()
{
using(var _db = new ApplicationDbContext())
{
string roleName = "Admin";
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
if(!roleManager.RoleExists(roleName))
{
var newRoleresult = roleManager.Create(new IdentityRole()
{
Name = roleName,
});
var userRole = new IdentityUserRole
{
UserId = _db.Profiles.FirstOrDefault().Id.ToString(),
RoleId = roleManager.FindByName(roleName).Id,
};
}
_db.SaveChanges();
}
}
如果角色不存在,是否有更好的方法来检查角色并为第一个用户创建角色?
【问题讨论】:
-
这是作为 Code First 迁移的一部分完成的,还是在其他地方调用?一些额外的上下文会有所帮助。
-
这是 Code First 迁移的一部分。只是 MVC 5 项目的模板部分。然后是迁移。
标签: asp.net-mvc-5 asp.net-identity