按角色获取ASP.NET Identity用户

Ume*_*qar 3 c# asp.net asp.net-mvc asp.net-mvc-4

我使用个人身份验证方法创建了一个新的MVC项目,其中ASP.NET Identity作为我的身份验证和授权框架.我成功添加3个角色到应用程序:Admin,Customer,Owner.

现在我已经在我的HomeController"所有管理员","所有客户","所有者"中制作了三种操作方法.在每种操作方法中,如何显示每个角色中的用户及其总计数?当我点击"所有管理员"时,它显示所有具有管理员角色的用户,以及"所有客户"和"所有者"操作相同的含义.

Cod*_*ter 7

你可以使用RoleManagerUserManager.后者允许您仅查询RoleId,因此您必须首先查找角色:

// Look up the role
string roleName = "Admin";
var role = await _roleManager.Roles.SingleAsync(r => r.Name == roleName);

// Find the users in that role
var roleUsers = _userManager.Users.Where(u => u.Roles.Any(r => r.RoleId == role.Id));
Run Code Online (Sandbox Code Playgroud)

现在,您可以将roleUsers视图发送到显示用户及其总计数的视图.