【发布时间】:2019-09-11 02:19:37
【问题描述】:
我们的应用中有用户,他们映射到公司。当用户登录并开始发出请求时,我想要一种方法来验证该用户当前是否映射到公司以访问公司资源。
我的想法是创建一个完整的控制器来管理所有这些,但有人提到 ActionFilters 是一个更好、更清洁的选择,我看了之后不得不同意。
这个想法是将控制器设置为:
controller - action - CompanyId - ReportId
因此,如果有任何公司映射到该登录用户,则任何根系统的请求都会查找。
但如果请求中包含 CompanyId,那么他们会转到该公司的“门户”帐户页面。它实际上是任何包含 CompanyId 的请求,我希望 actionFilter 确定该用户是否被允许访问。
- 请求进来...
- 请求中有CompanyId!
- 动作过滤器:
在 db 中查找分配给该 CompanyId 的所有用户。当前用户是否在该列表中?不? = 把他们踢出去。
我尝试输入一个代码示例,但系统告诉我将每行手动缩进 4 个空格,反正我是从内存中做的,所以不知道它会有多大帮助。
【问题讨论】:
-
那么你有什么尝试,你卡在哪里了?您是在问如何在操作过滤器中访问数据库?
-
就是这样。对不起,新手的问题,但我正在努力学习。大声笑。
标签: asp.net-core-mvc asp.net-core-2.2