Asp.NET Core FindByNameAsync找不到用户

时间:2019-07-11 12:43:35

标签: asp.net asp.net-mvc asp.net-core asp.net-identity

我使用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);

1 个答案:

答案 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