Я спрашиваю себя, как лучше расширить Microsoft Identity для реализации следующей ситуации:
У меня есть домен, где моими пользователями могут быть: спортсмены, тренеры и администраторы.
Когдазарегистрированный пользователь автоматически назначается в качестве спортсмена, и создается объект спортсмена (он создается параллельно с AspNetUser.)
, поскольку команды и запросы и пользовательские свойства различных участников * Athlete, Coaches andАдминистратор) сильно различаются внутри домена, имеет смысл создавать для них отдельные сущности.
Когда пользователь входит в систему, он может выбрать в пользовательском интерфейсе, какую «роль» (не связанную с ролью / утверждениями личности) он хочет получить доступсистема и будет видеть только компоненты пользовательского интерфейса, связанные с этой позицией.
Таким образом, вопрос заключается в том, как переключаться между различными «ролями» и сохранять эту информацию в сеансе входа в систему:
Яиспользуя утверждение / политику для авторизации пользователя, моя идея на данный момент состоит в том, чтобы добавить / удалить утверждения налетать, когда пользователь переключается между «ролями».
Это будет работать для авторизации пользователя между различными политиками на каждом маршруте API. Однако домен должен знать, какую «роль» выполняет пользователь в этот момент.
Должен ли я создавать заявки с именами «Администратор», «Тренеры» и «Спортсмен» и затем вставлять / удалять, когда пользователь меняет роли?
Есть ли более изящный способ, как указать домену, в каком положении действует пользователь, отличающийся от вставки удаления заявок на лету?