簡介
公司新項目,需要做移動端(Android和IOS),登錄模塊,兩個移動端人員提出用token來校驗登錄狀態,一臉懵懵的,沒做過,對於token的基本定義都模棱兩可,然後查資料查查查,最終OK完成,寫篇博客記錄一下
思路:
1、基於session登錄
基於session的登錄(有回話狀態),用戶攜帶賬號密碼發送請求向服務器,服務器進行判斷,成功後將用戶信息放入session,用戶發送請求判斷session中是否有用戶信息,有的話放行,沒有的話進行攔截,但是考慮到時App產品,牽扯到要判斷用戶的session,需要sessionID,還要根據sessionId來獲取session,在進行校驗,還有sessionId的一個存儲等等,所以沒考慮用session
2、基於token登錄
基於token的登錄,是不存在回話狀態,大概思路,在用戶初次等路的時候,校驗用戶賬號密碼,成功後給其生成一個token,token=用戶ID+時間戳+過期時間+一個自己平臺規定的簽名,使用jjwt生成一個令牌,然後對其進行存庫,用戶每次訪問接口,都會在頭部Headers中帶上token,後來攔截器對其進行攔截,如果token爲空或錯誤則讓其登錄,如果有token,獲取token進行其解析,取出裏面的用戶ID,根據用戶ID查詢數據庫中所存token,判斷其是否正確,正確使其登錄,錯誤則提示登錄,大致思路就是這樣,下面開始代碼
導入jar包
1 2 3 4 5 6 |
|
開發步驟
1、創建token庫
2、創建token實體類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
3、編寫token的三個方法(添加、查詢、修改)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
4、創建攔截器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
|
5、配置攔截器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
6、登錄
controller層
1 2 3 4 |
|
serrvice層
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
token操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
生成token
1 2 3 4 5 6 7 8 9 10 11 |
|
至此,token登錄OK
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章: