flask - python web中如何共享登錄狀態(tài)?
問題描述
在一個(gè)域名下面會(huì)有好多個(gè)子域名,每個(gè)子域名對(duì)應(yīng)一個(gè)子系統(tǒng),這些子系統(tǒng)有的是用DJANGO,有的是用Flask等不同的框架開發(fā),那么,我們?nèi)绾卧谶@不同系統(tǒng)間共享登錄狀態(tài)?也就是說,只要在某一個(gè)系統(tǒng)登錄了,在使用其他系統(tǒng)的時(shí)候也共享著登錄的狀態(tài),不需要再次登錄,除非登錄失效。這樣的話要怎么做呢?
問題解答
回答1:看看什么叫單點(diǎn)登錄
回答2:可以參考:https://github.com/castlabs/d...
你也可以自己實(shí)現(xiàn):1、搞一個(gè)用戶中心(用于賬戶管理、登錄等)2、訪問一個(gè)子系統(tǒng),先判斷是否有token。如果沒有,或者已過期,則自動(dòng)跳轉(zhuǎn)到用戶中心。3、用戶中心登錄成功以后,生成一個(gè)token,并跳轉(zhuǎn)回之前要訪問的子系統(tǒng)(帶上token)4、再訪問別的系統(tǒng)時(shí),都需要帶上這個(gè)token。
還有個(gè)辦法,不需要顯式的帶token:用戶中心登錄成功以后,cookie還保存登錄信息。訪問各個(gè)子系統(tǒng)(頁面加載)的時(shí)候,通過jsonp去用戶中心校驗(yàn)是否已登錄:假如用戶中心域名www.a.com,那么瀏覽器會(huì)緩存該域名及其對(duì)應(yīng)的cookie;而jsonp跨域去請(qǐng)求www.a.com的時(shí)候,會(huì)自動(dòng)帶上這個(gè)cookie的。
相關(guān)文章:
1. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?2. PHP訂單派單系統(tǒng)3. python中def定義的函數(shù)加括號(hào)和不加括號(hào)的區(qū)別?4. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。5. python - <flask web>的flasky項(xiàng)目的頭像問題6. 怎么能做出標(biāo)簽切換頁的效果,(文字內(nèi)容隨動(dòng))7. php多任務(wù)倒計(jì)時(shí)求助8. 數(shù)組排序,并把排序后的值存入到新數(shù)組中9. 默認(rèn)輸出類型為json,如何輸出html10. mysql時(shí)間格式問題
