91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么實現token認證

發布時間:2021-07-22 16:23:10 來源:億速云 閱讀:157 作者:Leah 欄目:編程語言

Java中怎么實現token認證,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一、與cookie相比較的優勢:

1、支持跨域訪問,將token置于請求頭中,而cookie是不支持跨域訪問的;

2、無狀態化,服務端無需存儲token,只需要驗證token信息是否正確即可,而session需要在服務端存儲,一般是通過cookie中的sessionID在服務端查找對應的session;

3、無需綁定到一個特殊的身份驗證方案(傳統的用戶名密碼登陸),只需要生成的token是符合我們預期設定的即可;

4、更適用于移動端(Android,iOS,小程序等等),像這種原生平臺不支持cookie,比如說微信小程序,每一次請求都是一次會話,當然我們可以每次去手動為他添加cookie,詳情請查看博主另一篇博客;

5、避免CSRF跨站偽造攻擊,還是因為不依賴cookie;

6、非常適用于RESTful API,這樣可以輕易與各種后端(java,.net,python......)相結合,去耦合

還有一些優勢這里就不一一列舉了。

二、基于JWT的token認證實現

JWT:JSON Web Token,其實token就是一段字符串,由三部分組成:Header,Payload,Signature。詳細情況請自行百度,現在,上代碼。

1、引入依賴,這里選用java-jwt,選擇其他的依賴也可以

2、實現簽名方法

設置15分鐘過期也是出于安全考慮,防止token被竊取,不過一般選擇基于token認證,傳輸方式我們都應該選擇https,這樣別人無法抓取到我們的請求信息。這個私鑰是非常重要的,加密解密都需要用到它,要設置的足夠復雜并且不能被盜取,我這里選用的是一串uuid,加密方式是HMAC256。

3、認證

我這里演示的還是以傳統的用戶名密碼驗證,驗證通過發放token。

4、配置攔截器

實現HandleInterceptor,重寫preHandle方法,該方法是在每個請求之前觸發執行,從request的頭里面取出token,這里我們統一了存放token的鍵為accessToken,驗證通過,放行,驗證不通過,返回認證失敗信息。

5、設置攔截器

這里使用的是Spring的xml配置攔截器,放過認證接口。

6、token解碼方法

7、測試

訪問攜帶token,請求成功。

未攜帶token或者token錯誤,過期,返回認證失敗信息。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 开阳县| 海门市| 都江堰市| 资讯| 大化| 章丘市| 公主岭市| 大兴区| 彭山县| 肥城市| 灵丘县| 遵义市| 繁峙县| 阳江市| 万年县| 高邑县| 潍坊市| 中方县| 班玛县| 尚义县| 正镶白旗| 渑池县| 会宁县| 改则县| 志丹县| 堆龙德庆县| 兴文县| 吉安县| 平定县| 隆林| 安多县| 利川市| 石城县| 巩义市| 沽源县| 娱乐| 平安县| 鹿邑县| 中阳县| 黔西县|