【发布时间】:2020-01-21 03:17:13
【问题描述】:
所以我们都或多或少地熟悉 ASP.Net MVC 和新的policy based authorization 中的授权,其中最常用的示例是称为atLeast21 的策略,它仅向 21 岁的用户授予对特定资源的访问权限或更老。
但是,如果我希望将策略用于多个年龄并将年龄作为参数传递,如下例所示:
[Authorize("AtLeast", new { age = 21 })]
public IActionResult Index()
{
//some code here
return View();
}
[Authorize("AtLeast", new { age = 25 })]
public IActionResult Index2()
{
//some code here
return View();
}
这样我可以多次使用相同的策略 (AtLeast),而不必为我想检查的每个年龄创建一个策略。
所以,如果我们谈论的是限制用户的年龄,当然没有很多用例,但如果我想说在控制器中有多个操作并且一个是针对员工的,它肯定有很多用例在公司工作 1 年,一个用于工作超过 1 年的员工,一个用于在公司工作 5 年以上的员工等等等等等等。
不幸的是,我在网络上找不到太多关于这方面的信息,这就是为什么我问这是否可以在 ASP.Net MVC 中以某种方式实现?
谢谢
【问题讨论】:
标签: c# asp.net asp.net-mvc authorization asp.net-authorization