0

有没有办法在控制器内设置一组操作以要求用户担任特定角色?

因此,例如,如果我有 5 个操作需要用户担任“招聘”角色,我可以对代码进行分组,然后让所有这些操作都需要基于单个注释的相同角色吗?

相反,如果这是不可能的,有没有办法将类标记为需要某个角色,并且他们是否有一个注释来设置一些操作来忽略这个要求?

最后,如果这不是一个选项,您可以使用部分类来完成此操作吗?

我没有想到的任何其他方法都可以。

4

2 回答 2

1

贾里德,

这就是我会做的,但它并没有解决必须为每个人做的问题:

[Authorize]
public class HomeController : Controller

[Authorize(Roles = "Recruiter")]
public ActionResult MethodOne()
{

}

看起来你的答案就在这里:

仅针对一项操作覆盖控制器 AuthorizeAttribute

该问题的答案似乎也符合您的要求 - 使用 Order 属性设置对控制器的限制最少的授权和对方法的最大限制。

将控制器设置为这个(大多数方法之一),对于您想要豁免的那些(较少),使您的授权声明更具限制性。

于 2012-07-12T23:00:54.160 回答
0

看了很多之后,似乎没有办法将[Authorize]属性应用于一组动作(我已经找到了)。看来您必须将其应用于班级或个人行动。虽然 Skitterm 的回答是一个不错的选择,但它并没有解决我希望解决的问题。

于 2012-07-31T15:17:33.920 回答