asp.net mvc 中的Form身份認證
預設的MVC4程式在配置檔案web.config中有以下配置
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" /></authentication>
設定後可以以匿名使用者訪問所有的Action,若想限制登陸後才能訪問,可以在Action方法前加[Authorize] 屬性
[Authorize]
public ActionResult Index()
{
ViewBag.Message = "修改此模板以快速啟動你的 ASP.NET MVC 應用程式。";
return View();
}
如果嫌麻煩,不想在每個Action前加[Authorize],可以註冊過濾器,這樣每個Action都要登陸後才能訪問
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new System.Web.Mvc.AuthorizeAttribute());
}
設定過濾器後,如果想某個Action不登陸就可以訪問,可以設定屬性[AllowAnonymous]
[AllowAnonymous]
public ActionResult About()
{
ViewBag.Message = "你的應用程式說明頁。";
return View();
}