【发布时间】:2018-08-21 08:40:05
【问题描述】:
大家好,
我在为 MVC5 中的现有用户分配角色时遇到了一些问题,这将由管理员从只能由管理员访问的视图中完成到目前为止,我已经在启动时创建了一个角色并将其分配给一个超级用户,他将此后有权将管理员角色授予其他特定用户。
private void createRolesAndDefaultUser()
{
ApplicationDbContext db = new ApplicationDbContext();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
//Creation of "Admin" role and Default Admin
if (!roleManager.RoleExists("Admin"))
{
//Create "Admin" role
var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
role.Name = "Admin";
roleManager.Create(role);
//Create SuperUser/DefaultAdmin
var User = new ApplicationUser();
User.UserName = "superUser@email.com";
User.Email = "superUser@email.com";
string Password = "Password01!";
var superUser = UserManager.Create(User, Password);
//Assign role to superUser
if (superUser.Succeeded)
{
var res = UserManager.AddToRole(User.Id, "Admin");
}
}
}
我在网上看到很多文章允许在注册时分配角色。由于我不希望用户选择自己的角色,因此由超级用户将管理员角色分配给现有用户。
我遇到的问题是如何启用只能由超级用户完成的角色分配给用户?
【问题讨论】:
标签: asp.net-mvc asp.net-identity asp.net-roles