Ядро Asp.NET FindByNameAsync не может найти пользователя - PullRequest
0 голосов
/ 11 июля 2019

Я использую 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);

1 Ответ

0 голосов
/ 11 июля 2019

Я обычно использую 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);
    }

Вы можете просмотреть мой полный исходный код здесь

...