當前位置:
首頁 > 最新 > 單點登錄與許可權管理本質:session和cookie介紹

單點登錄與許可權管理本質:session和cookie介紹

本篇開始寫「單點登錄與許可權管理」系列的第一部分:單點登錄與許可權管理本質,這部分主要介紹相關的知識概念、抽象的處理過程、常見的實現框架。通過這部分的介紹,能夠對單點登錄與許可權管理有整體上的了解,對其相關概念、處理流程、常見實現有個基本的認識。

本篇文章介紹下session和cookie,它是登錄實現的基礎,主要從下面幾個方面介紹:

  • session和cookie基本概念

  • session的生命周期

  • cookie的作用域

cookie的跨域問題會在後續文章單獨介紹。

基本概念

大部分系統都需要識別用戶的身份,有些功能只有特定的用戶能使用,有些功能需要根據用戶身份顯示不同的內容,一般使用唯一編號標識用戶的身份。

就像我們的身份證,身份證號是每個人唯一的,根據所在的省市區、出生年月、性別等規則生成,我們去政府機構辦事時,都需要帶著身份證,他們通過身份證驗證我們的身份。

session和cookie主要用來識別登錄者身份的,默認通過JSESSIONID唯一編號進行驗證。session是在服務端保存的一個數據結構,用來跟蹤用戶的狀態,也可以保存用戶相關的一些數據,可以保存在內存、緩存、資料庫等存儲結構中。cookie是客戶端保存用戶信息的一種機制。

servlet session

HttpSession:實際的session介面定義;

session相關的介面,一般由應用伺服器來實現,比如Tomcat、Resin、Jetty。Session的主要特徵:

在tomcat中,HttpSession的實現是StandardSession,同時StandardSession會實現自定義的Session介面,它是對HttpSesion一個包裝。

另外,tomcat會實現session的管理和持久化,可隨時獲取到對應的session,具體實現不在本篇分析,網上有很多文章介紹。

cookie

cookie是客戶端的解決方案,是伺服器發給客戶端的特殊信息,這些信息以文本文件的方式存放在客戶端,後續請求,客戶端都會帶上這些特殊的信息。

服務端通過HTTPResponse設置cookie到響應頭,發送到客戶端,後續客戶端自動將cookie信息設置到請求頭。下面是我登錄百度後的cookie信息:

cookie也有失效時間,可通過cookie.setMaxAge(expiry)進行設置:

另外還有其他幾個特性:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 情情分享平台 的精彩文章:

TAG:情情分享平台 |