我使用ASP.NET Core身份并尝试使用“ FindByNameAsync”方法来获取具有用户名的用户。我确定有一个使用用户名的用户。但是“ FindByNameAsync”找不到用户。 “ GetByUserName”是我的方法,它用用户名查询db,并按我的期望找到了用户。 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);
答案 0 :(得分:0)
我通常使用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);
}
您可以查看我的完整源代码here