預設的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();
}