首先,需要获得所有具有特定角色的用户。可以使用UserManager类从用户存储中获取用户,并使用RoleManager类获得所有角色。然后,可以将用户的角色ID与角色名称匹配,并将它们一起返回给调用方。
下面是使用ASP.NET Core Identity的示例代码,以显示所有具有特定角色(例如“admin”)的用户:
// 注入UserManager和RoleManager
private readonly UserManager
[HttpGet("usersByRole/{roleName}")]
public async Task
if (role == null)
{
return NotFound($"Role '{roleName}' not found");
}
var usersInRole = await _userManager.GetUsersInRoleAsync(roleName);
var result = new List
}
此代码将返回包含用户ID、用户名和所分配角色的列表。例如,对于管理员角色,返回的结果可能如下所示:
[ { "id": "1", "userName": "admin", "roles": [ "admin" ] }, { "id": "2", "userName": "testadmin", "roles": [ "admin" ] } ]