要获取处于“User”角色中的用户,可以使用ASP.NET MVC Identity 2中的RoleManager和UserManager。
首先,在Controller中注入RoleManager和UserManager:
private readonly RoleManager _roleManager;
private readonly UserManager _userManager;
public YourController(RoleManager roleManager, UserManager userManager)
{
_roleManager = roleManager;
_userManager = userManager;
}
然后,在Action方法中使用RoleManager和UserManager来获取处于“User”角色中的用户:
public async Task GetUsersInUserRole()
{
var role = await _roleManager.FindByNameAsync("User");
if (role == null)
{
// 角色不存在
return NotFound();
}
var usersInRole = await _userManager.GetUsersInRoleAsync(role.Name);
return View(usersInRole);
}
上述代码首先通过RoleManager找到名称为“User”的角色。然后,使用UserManager的GetUsersInRoleAsync方法来获取处于该角色中的所有用户。
在View中,你可以遍历usersInRole变量来显示用户信息:
@foreach (var user in Model)
{
@user.UserName
}
这样,你就可以获取处于“User”角色中的用户了。