私たちのサイトには、いくつかの動作の分割を伴う複雑な管理階層があります。ユーザートラフィックを最適に誘導するために、MangersOnly、AdminOnly、NonAdminsという承認フィルターを作成しました。
私はそれらをこのように使用することを想像しました
[MangersOnly]
public ActionResult Index()
{
}
[AdminOnly]
public ActionResult Index()
{
return redirectoaction("Index", "Admins");
}
[NonAdmins]
public ActionResult Index()
{
return redirectoaction("Shouldntbehere", "Errors");
}
私が悲しいことに発見したのは、属性が私のアクションメソッドのオーバーロードとして機能しないことでした。
このアーキテクチャは、私たちがしなければならないすべてのロジックチェックを回避するためのものです(これまたはそれが残っている場合は、ここまたはそこにリダイレクトします...)。目標は、authorize属性が失敗しないアクションメソッドにトラフィックを転送することです。
これらのメソッドをオーバーロードして(パラメーターや名前を変更せずに)、ユーザーをチャネルするためのこの甘い(素朴な)アーキテクチャーを維持する方法はありますか?