Я хотел бы расширить UserManager
, чтобы разрешить поиск пользователя по имени пользователя.Я создал метод расширения.Я заметил, что самый простой способ добиться этого - получить UserStore
.Я не могу сделать это с помощью UserManager
, потому что Store
защищен.Я решил использовать DI для ввода UserStore
в мой метод, но я даже не уверен, что это возможно.
Я пытался передать в качестве второго аргумента IUserStore<T> store
, но VS говорит, что аргумент не был предоставлен.
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
namespace Learning.Extensions
{
public static class UserManagerExtension
{
public static Task<T> FindByUserNameAsync<T>(this UserManager<T> userManager, IUserStore<T> store, string userName) where T : class
{
var result = store.FindByNameAsync(userName, CancellationToken.None);
return result;
}
}
}