从Application Service检查用户角色

时间:2017-10-25 10:50:25

标签: aspnetboilerplate asp.net-boilerplate

我正在实施将统计数据发送到主页(仪表板应用程序页面)的应用程序服务。

基于用户的角色(服务需要身份验证),我将使用基于角色的WhereIf()从数据库中提取/聚合数据

特别是如果用户是管理员,我将不会使用WhereIf()

应用数据提取过滤器

要做到这一点,我已经在服务构造函数中注入了IAbpSession以便能够提供用户ID,但是如果用户是管理员,我该怎么办?

1 个答案:

答案 0 :(得分:8)

您可以通过检查该用户的关联角色来检查当前用户是否为管理员。您必须注入具有多种角色检查方法的UserManager。其中一个是IsInRole(userId, roleName)