Я использую идентификатор asp.net, и у меня есть несколько пользовательских классов, которые наследуются от IdentityUser.
Допустим, у меня есть цепочка наследования, например:
IdentityUser ‹- AppUser ‹- ServiceUser ‹- ServiceEmployee и ServiceCustomer (оба наследуются от ServiceUser).
Какова лучшая стратегия при попытке создать единую форму входа?
Если вы используете контроллер учетной записи OTB и измените UserManager на использование ServiceUser, но попытаетесь войти в учетную запись, которая была зарегистрирована как ServiceEmployee, произойдет сбой, потому что FindAsync(), по-видимому, пытается найти только на основе «ServiceEmployee» в поле дискриминатора, поэтому, если учетная запись была зарегистрирована как другой «тип», ее нельзя использовать для входа в систему. Таким образом, это происходит с любой комбинацией, когда типы регистрации и входа различаются.
Должен ли я обновить действие входа в систему, чтобы использовать несколько UserManager, чтобы была проверка для каждого типа пользователя, или есть ли лучший способ сделать то, что я пытаюсь достичь.
Спасибо за любую информацию.