2016-11-28 65 views
-1

我真正的新ASP.NETMVC编程和我目前正在使用,包含用于在包括db以及注册用户,用户管理等方法的Web应用程序项目的默认模板。然而,是否有可能对我来说,在缺省数据库手动添加roles如下:ASP.NET MVC添加角色手动

Adding roles manually

,并得到它的工作使用视图创建roles的呢?

+0

你试过了吗?结果是什么? – mason

+0

我做了,但我无法真正使用“ASP.NET IDENTITY”检索角色 – Pow4Pow5

回答

1

要添加角色给用户首先需要在AspNetRoles表中添加一个新的角色(你已经这样做)
然后,你需要插入相应的用户ID和角色ID为AspNetUserRoles

+0

是的,我做了,但我如何检索用户登录的角色? @Steve – Pow4Pow5

+0

@ Pow4Pow5((RolePrincipal)User).GetRoles();或Roles.GetRolesForUser() – Steve

0

身份3 (ASP.NET核心)

创建:

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

BTW:最好把你的角色变成常量类。

检索用户的角色: 我用下面的扩展方法。

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();