ASP.NET MVC手动添加角色

时间:2016-11-28 16:26:59

标签: c# asp.net-mvc

我是ASP.NET MVC编程的新手,我目前正在使用Web应用程序项目的默认模板,其中包含注册用户,用户管理等方法,包括{{1也是。但是,我是否可以在默认数据库中手动添加db,如下所示:

Adding roles manually

让它工作而不是使用视图来创建roles

2 个答案:

答案 0 :(得分:1)

要向用户添加角色,首先需要在AspNetRoles表格中添加新角色(您已经这样做了)
然后,您需要将相应用户的ID和角色ID插入AspNetUserRoles

答案 1 :(得分:0)

身份3(ASP.NET核心)

创建:

var role = await _roleManager.FindByNameAsync("Admin");
if (role == null)
{
   role = new IdentityRole("Admin");
   await _roleManager.CreateAsync(role);
}

顺便说一下:最好把你的角色放到一个常数类中。

检索用户角色: 我使用了以下扩展方法。

public static string GetUserRole(this ClaimsPrincipal principal)
{
    if (principal == null)
    {
        throw new ArgumentNullException(nameof(principal));
    }
    return principal.Claims.SingleOrDefault(c => c.Type == "role")?.Value;
}

控制器:

var role = User.GetUserRole();