我们的网站有一个复杂的管理层次结构,有一些行为分裂。为了最好地引导用户流量,我创建了名为 MangersOnly、AdminOnly、NonAdmins 的授权过滤器。
我设想以这种方式使用它们
[MangersOnly]
public ActionResult Index()
{
}
[AdminOnly]
public ActionResult Index()
{
return redirectoaction("Index", "Admins");
}
[NonAdmins]
public ActionResult Index()
{
return redirectoaction("Shouldntbehere", "Errors");
}
我遗憾地发现,属性并不能作为我的操作方法的重载。
这种架构是为了避免我们必须做的所有逻辑检查(如果这个或那个角色保持不变,否则重定向到这里或那里......)。目标是将流量引导到授权属性不会失败的操作方法。
有没有一种方法可以重载这些方法(不改变它们的参数或名称),保持这种甜蜜(天真的)架构来引导用户?