Web端的一次成功的登陸請求后,cookie中會保存此次回話的sessionID,再點擊其他頁面時,會將此sessionID傳遞給后臺,后臺讀取對應(yīng)的session來進(jìn)行相應(yīng)邏輯行為;也就是說:session本質(zhì)上還是要基于cookie的。但是,免費手機(jī)網(wǎng)關(guān),不支持cookie傳輸,于是在手機(jī)端的權(quán)限驗證中,并不能簡單的在后臺用request.getSession()就得到該手機(jī)應(yīng)用統(tǒng)一的session。解決這個問題,可以在手機(jī)應(yīng)用每一次登陸時,產(chǎn)生該用戶的一個token(類似于sessionID),手機(jī)應(yīng)用再次發(fā)送請求時帶上該token即可。
2.具體思路當(dāng)手機(jī)端和網(wǎng)頁端使用同一個后臺時,在filter中,可以先判斷是否有token傳入,如果有則判定為手機(jī)請求,通過該token來進(jìn)行邏輯 判斷。如果沒有token傳入,則進(jìn)行正常的session判斷。
3.開發(fā)步驟針對于手機(jī)訪問來具體描述
3.1token表設(shè)計token信息在數(shù)據(jù)庫表中單獨存儲,與humanID一一對應(yīng)。

手機(jī)端人員在登錄系統(tǒng)時,需要傳用戶名和密碼過來進(jìn)行驗證。驗證通過之后,先刪除token表中該人員舊的token信息,同時在token表中新增一條該人員的token記錄,并返回到客戶端。
3.2.2后臺訪問手機(jī)端在向服務(wù)器發(fā)送請求的時候,每個請求后面都需要帶上token信息作為傳入?yún)?shù)。后臺會在Filter中先對token信息進(jìn)行過濾。如果傳入的token在token表中不存在,則直接返回到客戶端,提示token已過期,請重新登錄。如果token驗證通過,則正常的訪問后臺接口。
3.2.3多終端訪問手機(jī)多終端的訪問規(guī)則與微信類似,即在另一個終端登錄后,當(dāng)前終端自動登出,保證每次只能有一個終端處于連接狀態(tài),每次登錄都會刷新token。
3.2.4登出終端人員主動登出時,從token表中移除該人員的token信息。
4.注意為了安全,該token不能使用明文,可以使用對稱加密等方法。
——歡迎轉(zhuǎn)載,但保留版權(quán),請于明顯處標(biāo)明出處:http://m.survivalescaperooms.com/naaoveGIS/
新聞熱點
疑難解答