从 ASPNetUsers 表中检索用户信息
Posted
技术标签:
【中文标题】从 ASPNetUsers 表中检索用户信息【英文标题】:Retrieve user information from ASPNetUsers table 【发布时间】:2022-01-01 22:20:36 【问题描述】:我对使用 Blazor WASM 和托管的 ASP.NET Core 非常陌生。我已经设置了将所有注册用户存储到 ASPNetUsers 表的登录。我想知道如何检索这些用户以向其他用户显示信息。例如,我希望能够让一个用户登录,然后他可以搜索所有其他已注册到应用程序中的用户。我如何才能显示已注册到应用程序的所有用户的列表,存储在 ASPNetUsers 表中
选项
检索并发回
[HttpGet]
public async Task<ActionResult<IEnumerable<User>>> Get()
var result = userManager.Users.FirstOrDefault();
User x = new User();
x.Username = result.Email;
List<User> giveback = new List<User>();
giveback.Add(x);
return giveback;
【问题讨论】:
【参考方案1】:要检索所有用户,请访问 UserManager 上的 Users 属性:
var users = UserManager.Users.ToList();
您帖子中的图片显示您仅访问静态成员。您没有使用 UserManager 的实例。
你需要在你的控制器中注入一个实例:
readonly UserManager<ApplicationUser> _userManager;
public MyController(UserManager<ApplicationUser> userManager)
_userManager = userManager;
[HttpGet]
public ActionResult<IEnumerable<Ticket>> Get()
var user = _userManager.Users.FirstOrDefault();
【讨论】:
感谢您的回复。当我尝试执行上述代码时,我的 UserManager 对象没有出现“用户”。 您正在从 Microsoft.AspNetCore.Identity 访问的 UserManager 吗? docs.microsoft.com/en-us/dotnet/api/… 是的。我已编辑发布以显示我得到的属性 答案已更新, 感谢您回来。 ApplicationUser 位于模型文件夹内的服务器端。当我尝试使用 @using ProjectName.Server.Models 时,它似乎无法识别它。如何从我的 razor 页面访问 ApplicationUser 类以发出 http 请求?以上是关于从 ASPNetUsers 表中检索用户信息的主要内容,如果未能解决你的问题,请参考以下文章
JWT 从 Laravel 中的令牌中检索经过身份验证的用户