1. 程式人生 > >asp.net mvc 中的Form身份認證

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