2016-11-28 101 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();