将一组操作设置为需要相同的授权



是否有方法在控制器内部设置一组操作,以要求用户担任特定角色?

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

相反,如果这不可能,是否有一种方法将类标记为需要某个角色,以及是否有一个注释来设置一些忽略此要求的操作?

最后,如果这不是一个选项,你能使用分部类来实现吗?

我没有想到的任何其他方法都会奏效。

Jared,

这是我想做的,但它并不能解决必须为每个人做的问题:

[Authorize]
public class HomeController : Controller
[Authorize(Roles = "Recruiter")]
public ActionResult MethodOne()
{
}

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

仅为一个操作覆盖控制器AuthorizeAttribute

这个问题的答案似乎也符合您的要求——使用Order属性为控制器设置限制最小的授权,为方法设置限制最大的授权。

将控制器设置为此方法(大多数方法中的一种),对于您想要豁免的方法(较少的方法),使您的授权语句更具限制性。

仔细研究后,似乎没有办法将[Authorize]属性应用于一组操作(我已经找到了)。似乎您必须将其应用于类或单个操作。虽然Skitterm的答案是一个很好的选择,但它并没有解决我希望解决的问题。

最新更新