iT邦幫忙

1

ASP.NET MVC Session驗證問題

之前寫WEB FORM時登入驗證是使用Session,然後再將驗證機制寫入自訂的defense.aspx這隻檔案,之後會再需要驗證的每個頁面INCLUDE以下這程式碼。

<!--#INCLUDE FILE="~/defense.aspx"-->

不知道這INCLUDE的驗證方式在ASP.NET MVC裡面要如何做呢?
ASP.NET MVC新手上路上來請教各位先進指導,因為小弟不知如何客制使用ASP Identity2.0,所以只能使用Session機制來驗證。
感謝指教

asd831012 iT邦新手 5 級 ‧ 2019-05-22 15:41:42 檢舉
同為菜鳥,我自己是用Filter來做Session驗證,給你參考一下。
說不定等等有其他人給出更好的答案
不一定要用「現成的」ASP Identity2.0才能做到會員登入喔,很多老方法都能做到。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
mis2000lab
iT邦好手 1 級 ‧ 2019-05-23 16:05:38

Session還是可以用的。
您如果不會使用 Filter,可以寫在 Action裡面。
public ActionResult IndexOK()
{
//// 方法一:
//if (Session["Login"] != null && Session["Login"].ToString() == "OK")
//{ // 正常登入成功,取得門票與鑰匙。 允許通行!
// return View();
//}
//else
//{ //return Content("登入失敗!!");
// return RedirectToAction("IndexFAIL");
//}
}

另一方法可以參考
https://dotblogs.com.tw/mis2000lab/2014/08/01/authentication-mode-forms_web-config
會員登入 與 FormsAuthentication (Web.Config裡面的 authentication mode="Forms")

這種寫法,以前WebForm、現在MVC都可以用。
您就可以這樣使用了

    // GET: Login
    public ActionResult Index()
    {
        return View();    // 任何人(匿名)都可以看見
    }


    //***********************
    [Authorize]
    public ActionResult Index2()
    {
        return View();    // 登入成功(會員)才可以看見
    }
    

希望對您有幫助。
這裡有 ASP.NET MVC 第一天「免費5.5小時」的入門試聽
https://dotblogs.com.tw/mis2000lab/2018/08/14/aspnet_mvc_online_learning_mis2000lab

只要補上一些基礎(像我 "前兩天"的課程說明),您應該就能跟得上坊間ASP.NET MVC書籍、課程(微軟線上教材、官方教材)的進度了。

大部分的初學者對於簡單的類別、MVC的基礎觀念不熟悉,所以貿然上課、買書可能跟不上。所以我整理了兩天的「入門課」,第三天才正式上課。希望能降低門檻。

我要發表回答

立即登入回答