asp.net - Asp.NET Core FindByNameAsync 找不到用户
问题描述
我使用 ASP.NET Core Identity 并尝试“FindByNameAsync”方法来获取具有用户名的用户。我确定有用户名的用户。但是“FindByNameAsync”找不到用户。“GetByUserName”是我的方法,它使用用户名查询数据库,并按我的预期找到了用户。FindByNameAsync 有错误吗?
//this is can't find the user with username
var appUser = await UserService.FindByNameAsync(userName);
//this is my method and it works well
var appUser = UserService.GetByUserName(userName);
解决方案
我通常使用 UserManager 来查找有关用户的信息
private readonly UserManager<User> _userManager;
public async Task<User> GetUserAsync(ClaimsPrincipal principal)
{
return await _userManager.GetUserAsync(principal);
}
public async Task<User> FindByNameAsync(string username)
{
return await _userManager.FindByNameAsync(username);
}
public async Task<User> FindByEmailAsync(string email)
{
return await _userManager.FindByEmailAsync(email);
}
public async Task<User> FindByIdAsync(string id)
{
return await _userManager.FindByIdAsync(id);
}
你可以在这里查看我的完整源代码
推荐阅读
- class - Flutter:从onother文件的父类调用子类函数
- stenciljs - 如何从模板组件中侦听 react/angular/vue 中的事件
- android - Android:在片段中初始化后,变量在 ViewModel 中未初始化
- python - 寻找一种快速构建所有可能性的导出方法(Python 2.5)
- c# - C#用抽象基类调用构造函数
- javascript - 如何通过在 JavaScript 项目中移动文件来重构并自动更新引用?
- powershell - 在生成 DSC 配置时使用变量传递参数
- php - 具有多个角色的 Laravel 身份验证
- python - TypeError:如果没有指定评分,则传递的估计器应该有一个'score'方法
- flutter - 如何在 Flutter 的 ListView 中添加复选框?