Удалить повторяющиеся претензии из ClaimsPrincipal - PullRequest
0 голосов
/ 12 марта 2020

Предполагается, что у меня есть следующие настройки:

Роли: [Role1, Role2]
RoleClaims: [{Role1, ClaimType1, ClaimValue1}, {Role2, ClaimType1, ClaimValue1}]

В основном есть две роли, и обе роли имеют требование роли ClaimType1 = ClaimValue1

Тогда у меня есть пользователь, которому назначены обе роли. Если я посмотрю на личность утверждений этого пользователя, то увижу

[
    ClaimType1 = ClaimValue1
    ClaimType1 = ClaimValue1
]

Я думаю, что за сценой asp. net идентичность просто вызывает SignInManager.CreateUserPrincipalAsync, который перебирает все роли и добавляет все заявки вернулся с RoleManager.GetClaimsAsync.

Какой самый простой способ игнорировать дублирующиеся заявки (с одинаковым типом + значение) во время создания принципала пользователя или сразу после его создания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...