亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java單點登錄session的問題

java單點登錄session的問題

慕虎7371278 2018-07-23 06:14:00
1.如何管理全局session的過期時間?全局session必須在所有局部session過期才會過期,這不是每次操作都得更新一下?或者設置為永久,監聽所有局部session過期后手動失效?2.為什么都要使用token來驗證?看了很多像cas都有token,直接看這個全局的session(或者redis)是否驗證過就行了,還要搞個token有特殊意義嗎?3.是否有必要存cookie(還是token),因為可以用jsessionid好像沒幣了....
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

1、session的目的是為了在服務器端維護用戶的信息,為了避免大量用戶接入,而每個用戶訪問時長都很短,這才給session添加超時的約束?;谶@個前提,session一般設計的時候可以不需要每次操作都需要刷新,一旦超時,可以讓用戶再次登錄。當然用戶體驗上不是很好,但是這自然是沒問題的。
我們一般采用折中的方案,我們選取操作流程中的安全點,安全點是指我們核心業務中用戶必定會操作的點,只在安全點上進行刷新用戶session,這樣可以解決你的問題。

2、token機制是為了安全,但是僅僅使用token時不夠的,結合你的第一個問題,一般都是用戶登錄的時候生成token,而且token必須經常刷新。如果沒有token保護,web接口基本上任何人都可以調用,如果是一般read操作也就罷了,但是如果是寫操作,想想就可怕,直接通過接口篡改用戶數據。。。

3、jessionId這是框架生成Id,但是我們一般都是全局session,所以sessionId都是自己生成的。cookie和session功能都是一樣的,都是為了保存用戶信息,只不過一個在客戶端一個在服務器。至于用不用,怎么用還是看需求,輔之安全性考慮。

建議你讀一下HTTP的RFC文檔,你說的這幾個問題涉及到HTTP的用戶信息保存、安全性。


查看完整回答
反對 回復 2018-08-07
  • 1 回答
  • 0 關注
  • 1412 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號