Jamie888 Ответов: 1

Как найти последние утверждения.значение роли


Привет, у меня есть коды ниже, которые используют AspNetIdentity framework для хранения информации о пользователях, такой как их записи и роли.
У меня есть следующая строка кодов, которые получат роль утверждений пользователя. Для сценария, где у меня будет один пользователь, но с несколькими ролями(например, администратор, участник), как я должен изменить свои коды, чтобы он всегда получал последние утверждения?Роль?
string claimsRole = User.FindFirst(ClaimTypes.Role).Value;


Роль "администратор" была создана до "участник". Поэтому система всегда должна получать роль "вкладчика".

Спасибо.

Что я уже пробовал:

1. попробовал "Финдласт", но такого расширения нет.
2. искал онлайн-решение, но безрезультатно.

1 Ответов

Рейтинг:
2

Richard Deeming

У утверждений нет понятия "созданной" даты. У вашего пользователя есть коллекция утверждений "роли", описывающих роли, к которым принадлежит пользователь. Вы можете использовать либо FindAll чтобы найти все совпадающие утверждения, или FindFirst чтобы найти первое совпадающее утверждение (без определенного порядка сортировки).

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