gpt4 book ai didi

asp.net - 如何在 Asp.Net Identity 中获取用户的角色名称

转载 作者:行者123 更新时间:2023-12-04 05:02:00 26 4
gpt4 key购买 nike

我想弄清楚如何在身份框架中查找用户角色名称。

我有这样的配置,只有一个角色分配给一个用户。

所以,我尝试使用

public string GetUserRole(string EmailID, string Password)
{
var user = await _userManager.FindAsync(EmailID, Password);
var roleid= user.Roles.FirstOrDefault().RoleId;
}

但我得到的只是 RoleId 而不是 RoleName。

谁能帮我找到用户的角色名称?

最佳答案

在您的代码中,user对象代表 AspNetUsers具有导航属性的表 Roles代表 AspNetUserInRoles表而不是 AspNetRoles table 。
所以当你尝试浏览时

user.Roles.FirstOrDefault()

它给你 AspNetUserInRoles存储 UserId 和 RoleId。

相反,您可以尝试 UserMangerGetRoles返回您的方法 List<string>角色用户被分配。但是正如您所提到的,它只是一个角色,因此您可以从 GetRoles 的结果中获取第一个值。方法。

您的功能应该类似于下面给出的功能:
public async string GetUserRole(string EmailID, string Password)
{
var user = await _userManager.FindAsync(EmailID, Password);
string rolename = await _userManager.GetRoles(user.Id).FirstOrDefault();
return rolename;
}

关于asp.net - 如何在 Asp.Net Identity 中获取用户的角色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45674776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com