有没有一种方法来设置一个控制器内的一组操作,要求用户在一定的作用?设置的一组操作要求相同的授权
因此,例如,如果我有5个操作,我想要求用户处于“招聘”角色,我可以对代码进行分组,然后让所有这些操作都需要基于单个注释的相同角色?
反之,如果这是不可能的,有没有办法将类标记需要一定的作用,它们是有注释设置的一些行动,无视这一要求?
最后,如果这不是你可以使用部分类来做到这一点的选项?
任何其他方法,我没有想到会工作。
有没有一种方法来设置一个控制器内的一组操作,要求用户在一定的作用?设置的一组操作要求相同的授权
因此,例如,如果我有5个操作,我想要求用户处于“招聘”角色,我可以对代码进行分组,然后让所有这些操作都需要基于单个注释的相同角色?
反之,如果这是不可能的,有没有办法将类标记需要一定的作用,它们是有注释设置的一些行动,无视这一要求?
最后,如果这不是你可以使用部分类来做到这一点的选项?
任何其他方法,我没有想到会工作。
经过多番寻找它不会出现有一个[Authorize]
属性应用到的一组操作(即我已经能找到)的方法。看来,你必须将其应用于课堂或个人行动。虽然Skitterm的答案是一个很好的选择,但它并没有解决我希望解决的问题。
贾里德,
这是我会做什么,但它并没有解决该问题得到不得不这样做的每一个:
[Authorize]
public class HomeController : Controller
[Authorize(Roles = "Recruiter")]
public ActionResult MethodOne()
{
}
它看起来像你的问题就出在这里:
Overriding controller AuthorizeAttribute for just one action
的这个问题的答案似乎是打在你的以及 - 使用Order属性来限制最少的权限设置为C控制器和对方法的限制性最强。
控制器设置为这一个(大多数方法之一),并为那些想要豁免(较少),让你的授权声明更加严格。
您想知道许多方法是否可以拥有相同的授权,但不一定都是这样吗? – Skitterm 2012-07-12 22:38:54
不完全是,我想要将一个注释应用于一组操作。这主要是我的懒惰问题,但我宁愿不必注释5的动作完全相同如果有一种方法来注释一组动作 – Jared 2012-07-12 22:43:13
此外,它会超过5个动作,这只是一个任意的号码我扔了出去。 – Jared 2012-07-12 22:44:34