1. ホーム
  2. asp.net-mvc

MVCコントローラの1つのアクションで認証を無効にすることは可能ですか?

2023-08-31 21:42:02

質問

コントローラにauthorization属性があるのですが、あるアクションでそれをオフにしたいのです。 私は独自の承認フィルタを作成し、ロールリストに "Anonymous"を追加しました。 私のフィルタでは、ロールリストにAnonymousが表示された場合、trueを返します。

しかし、コントローラの承認が他のものを先取りしているかのように、ログインページを通過することができないようです。

どのように解決するのですか?

あなたは [Authorize] コントローラクラスに [AllowAnonymous] を認可されたくない単独のアクションに追加します。例

[Authorize]
public class AccountController : Controller
{
    public ActionResult Profile()
    {
        return View();
    }

    [AllowAnonymous]
    public ActionResult Login()
    {
        return View();
    }
}