我创建了一个基于角色的菜单,并遵循该菜单this教程。在该页面的某些位置您会看到这行代码:
String[] roles = Roles.GetRolesForUser();
它返回当前登录用户的所有角色。我想知道如何使用新的 ASP.NET Identity 系统来实现这一点?
它仍然很新,没有太多可发现的。
Controller.User.Identity
is a ClaimsIdentity
。您可以通过检查声明来获取角色列表......
var roles = ((ClaimsIdentity)User.Identity).Claims
.Where(c => c.Type == ClaimTypes.Role)
.Select(c => c.Value);
- - 更新 - -
再分解一点...
using System.Security.Claims;
// ........
var userIdentity = (ClaimsIdentity)User.Identity;
var claims = userIdentity.Claims;
var roleClaimType = userIdentity.RoleClaimType;
var roles = claims.Where(c => c.Type == ClaimTypes.Role).ToList();
// or...
var roles = claims.Where(c => c.Type == roleClaimType).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)