如何在 Mvc Core3 中通过 UserManager 获取具有一个角色的所有用户?

Posted

技术标签:

【中文标题】如何在 Mvc Core3 中通过 UserManager 获取具有一个角色的所有用户?【英文标题】:How Can I Get All Users with one Role by UserManager in Mvc Core3? 【发布时间】:2020-05-14 00:29:00 【问题描述】:

如何在 Mvc Core 3 中通过UserManager 获取具有一个角色的所有用户?我想要UserNameUserId 和角色。

这是我的示例代码,但它不起作用:

var users = userManager.Users.Take(50).ToList();
var Getesroles = new List<IList<string>>();

foreach (var item in users)

    Getesroles.Add(userManager.GetRolesAsync(item).Result);

我的问题是什么?

【问题讨论】:

您是要查找具有特定角色的用户还是获取所有用户的角色和其他信息?您上面的代码获取用户的所有角色,您的意思是不工作? @XingZou 我想获取具有特定角色的所有用户。我的示例代码仅在一个结果中返回角色,没有角色和用户一起返回。 【参考方案1】:

就像使用UserManager 类中的GetUsersInRoleAsync() 方法一样简单?

public class UserManager<TUser> : IDisposable where TUser : class

    ...
    public virtual Task<IList<TUser>> GetUsersInRoleAsync(string roleName);
    ...

这应该返回具有您传入的特定角色的所有用户。

【讨论】:

以上是关于如何在 Mvc Core3 中通过 UserManager 获取具有一个角色的所有用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MVC 控制器中通过 WebApi 从 HTML 页面发布数据

如何在 ASP.NET MVC 中通过 Ajax 提交表单?

如何在 ASP.NET MVC3 中通过 HTTPS 提供静态文件(在 ~/Content 中)

在 ASP.NET MVC 中通过 JQuery AJAX 上传文件

Core3.0全局捕获异常

Core3.0全局捕获异常