у нас есть несколько ролей в нашей системе, и пользователю может быть назначено несколько ролей, и все управляется на заказ.Мы не используем идентификационные данные или около того.
Я отправляю свой запрос API с некоторыми ролями, такими как «гость», «админ».Api должен возвращать только пользователей с этими ролями
. Вот как я фильтрую пользователей List<string> roles
-> это переменная с именами ролей из внешнего интерфейса, предположим, что "admin"
ролей= "admin" -> но может иметь больше ролей
UserRoleMappings - это свойство навигации, которое содержит комбинацию идентификатора пользователя и идентификатора роли для сохранения ролей конкретного пользователя
. Теперь при получении всех пользователей мне бы хотелосьчтобы отфильтровать их так, чтобы
query.Where(user => user.UserRoleMappings.Any(urm => roles.Contains(urm.UserRole.Name)));
Этот запрос выбирал пользователей, имеющих роли «admin» + «гости», как я применил, содержит.Но мне нужны пользователи, которые имеют только роль администратора
beacuse
user
1 user1
2 user2
role
1 admin
2 guest
userMapping
1 1
1 2
2 1
Api должен только возвращать user2, но он также возвращает user1.Этот метид должен быть общим и работать с несколькими ролями
Спасибо и С уважением