Проверьте роли пользователей из службы приложений

я реализую службу приложений, которая отправляет статистические данные на домашнюю страницу (страницу приложения панели инструментов).

В зависимости от роли пользователя (служба требует аутентификации), я бы извлекал/агрегировал данные из базы данных, используя WhereIf() на основе роли

В частности, если пользователь является администратором, я не буду применять фильтр извлечения данных с помощью WhereIf().

Для этого я внедрил IAbpSession в конструктор службы, чтобы иметь возможность указать идентификатор пользователя, но как я могу проверить, является ли пользователь администратором?


person Saro    schedule 25.10.2017    source источник


Ответы (1)


Вы можете проверить, является ли текущий пользователь администратором, проверив связанные роли этого пользователя. Вы должны внедрить UserManager, у которого есть несколько методов проверки ролей. Один из них IsInRole(userId, roleName).

person Richard Brink    schedule 25.10.2017
comment
ОМГ... да, это правильно! Я уже внедрил UserManager, но не видел существования метода IsInRole Tnx - person Saro; 25.10.2017
comment
возможно, имя метода изменится на IsInRoleAsync - person D__; 12.02.2020