0

私のMVC4インターネットアプリケーションでは、ロールなどとともにデフォルトで付属する AccountController を使用しています.

したがって、アクションにアクセスするためのロールを定義したこのコントローラーがあります。以下の例をご覧ください。

public class SomeController : Controller
{
    private SomeDbContext db = new LookbookDbContext();

    //
    // GET: /Default1/
    [Authorize(Roles = "Administrator")]
    public ActionResult Index()
    {
        return View(db.SomeTable.ToList());
    }

...
}

私が今望んでいたのは、ユーザー/匿名がこの Index アクションにアクセスしようとすると、ログインフォームを表示する代わりに、作成したカスタムエラービューを取得することです。

これを追加しましたが、何もしません。ログインフォームページを取得し続けます。ポルパスをテストするために、デフォルトの 401 エラー ページが表示されるように変更しましたが、どちらも機能しません。

public class CustomAuthorize : AuthorizeAttribute
{
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new HttpUnauthorizedResult();
        }
}
4

3 に答える 3