我使用 ASP.NET 核心身份并尝试"FindByNameAsync"方法来获取用户名的用户。我确定有一个用户名的用户。但是"FindByNameAsync"找不到用户。"GetBy用户名"是我的方法,它使用用户名查询数据库,并按我预期找到了用户。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);
}
你可以在这里查看我的完整源代码