我正在尝试检索用户所在的所有角色。
这是我在本地IIS上可以正常运行的方法,但是当我将API放到服务器上时,它不会获取我的角色。
[Authorize(Roles = "Admin")]
[HttpGet]
public IActionResult Get()
{
WindowsIdentity user = WindowsIdentity.GetCurrent();
var userRoles = from id in user.Groups
select id.Translate(typeof(NTAccount)).Value;
return Ok(userRoles);
}
如果将WindowsIdentity更改为IIdentity,我将在本地和服务器上获得正确的用户,但无法访问角色。
IIdentity user = User.Identity;
return Ok(user);
如何获取用户访问API的所有角色的列表?
答案 0 :(得分:0)
最后我离得很近,如果有人需要它很简单。在第一个示例中,将其替换:
WindowsIdentity user = WindowsIdentity.GetCurrent();
与那个人在一起:
var user = User.Identity as WindowsIdentity;