Session 身份驗證


1 Session 特點:

(1)Session中的數據保存在服務器端; 
(2)Session中可以保存任意類型的數據; 
(2)Session默認的生命周期是20分鍾,可以手動設置更長或更短的時間

web.config 配置:

程序webconfig配置:

<system.web>
<sessionState mode="InProc" timeout="180"/>

</system.web>

timeout里面設置的是分鍾

Session 身份驗證的思路:

 每個客戶端請求都會和服務器建立一個會話,會有一個唯一的SessionId, 客戶端在收到SessionId之后可以將seesionId保存(比如保存在cookie中),然后每次通過cookie的sessionId去驗證。

1、用戶向服務器發送用戶名和密碼。

2、服務器驗證通過后,在當前對話(session)里面保存相關數據,比如用戶角色、登錄時間等等。

3、服務器向用戶返回一個 session_id,寫入用戶的 Cookie。

4、用戶隨后的每一次請求,都會通過 Cookie,將 session_id 傳回服務器。

5、服務器收到 session_id,找到前期保存的數據,由此得知用戶的身份

 

 

缺點:

時間較短,需要服務器設置,

服務器掛了需要重新登錄

 

 

簡單使用:

 

  public void LoginWithSession()
        {
            Session["User"] = new { Name="hnzheng",Passward="123" };
            Session["UserInfo"] = new { Name = "hnzheng", Passward = "123" };

            //保存session Id
            //Session.SessionID

        }
        //刪除全部
        public string RemoveAllSession()
        {
            Session.Abandon();
            return$"sessionId:{Session.SessionID}";
        }
        //刪除單個
        public string RemoveSingleSession()
        {
            if(Session["User"]!=null)
            {
                Session["User"] = null;
                Session.Remove("User");
            }
           
            return $"sessionId:{Session.SessionID}";
        }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM