真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供濱州網(wǎng)站建設(shè)、濱州做網(wǎng)站、濱州網(wǎng)站設(shè)計(jì)、濱州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、濱州企業(yè)網(wǎng)站模板建站服務(wù),10余年濱州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

一、背景

前后端分離已經(jīng)成為互聯(lián)網(wǎng)項(xiàng)目開發(fā)標(biāo)準(zhǔn),它會為以后的大型分布式架構(gòu)打下基礎(chǔ)。SpringBoot使編碼配置部署都變得簡單,越來越多的互聯(lián)網(wǎng)公司已經(jīng)選擇SpringBoot作為微服務(wù)的入門級微框架。

Mybatis-Plus是一個 Mybatis 的增強(qiáng)工具,有代碼生成器,并且提供了類似hibernate的單表CRUD操作,又保留了mybatis的特性支持定制化 SQL。

Apache Shiro是一款強(qiáng)大易用的Java安全框架,Java官方推薦使用Shiro,它比Spring Security更簡單易用,Spring自己的系列Spring side4也把權(quán)限擴(kuò)建換成Shiro了。

現(xiàn)在API越來越流行,如何安全保護(hù)這些API?JSON Web Tokens(JWT)能提供基于JSON格式的安全認(rèn)證。JWT可以跨不同語言,自帶身份信息,并且非常容易傳遞。

二、項(xiàng)目特性

1.自定義@Log注解自動記錄日志到數(shù)據(jù)庫。

2.自定義@Pass注解接口不用進(jìn)行認(rèn)證身份。

3.使用JSONObject統(tǒng)一獲取body請求參數(shù),減少實(shí)體類的數(shù)量。完成自定義@ValidationParam注解驗(yàn)證請求參數(shù)是否為空。

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架

4.使用bcrypt算法加密密碼,著名代碼托管網(wǎng)站Github和美國軍方防火墻同樣采用此算法,靠bcrypt算法會成功保住密碼強(qiáng)度不算很高的大部分賬戶。

5.搭配Shiro注解配置權(quán)限,高度靈活,提供按鈕級別的權(quán)限控制,后端接口只驗(yàn)證權(quán)限,不看角色。用自定義@CurrentUser注解獲取當(dāng)前登錄用戶,Controlle層統(tǒng)一異常處理:

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架

6.用SpringAOP切面編程進(jìn)行聲明式事務(wù),過濾請求參數(shù),防止XSS攻擊。

7.使用POST請求登錄返回token和權(quán)限信息(service層增刪改方法命名規(guī)范會自動加上事物),保證請求無狀態(tài),返回實(shí)體如果屬性為空不顯示。

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架

三、程序邏輯

1.填寫用戶名密碼用POST請求訪問/login接口,返回token令牌等信息,失敗則直接跳轉(zhuǎn)401錯誤頁面。

2.在之后需要驗(yàn)證身份的請求的Headers中添加Authorization和登錄時返回的token令牌。

3.服務(wù)端進(jìn)行token認(rèn)證,失敗跳轉(zhuǎn)401頁面。

4.用JWT做認(rèn)證(登錄),Shiro做授權(quán)。

四、運(yùn)行項(xiàng)目

項(xiàng)目結(jié)構(gòu):

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架
  • 通過git下載源碼,本項(xiàng)目基于JDK1.8

  • 采用Maven項(xiàng)目管理,模塊化,導(dǎo)入IDE時直接選定liugh-parent的pom導(dǎo)入

  • 創(chuàng)建數(shù)據(jù)庫liugh,數(shù)據(jù)庫編碼為UTF-8,執(zhí)行l(wèi)iugh.sql文件,初始化數(shù)據(jù)

  • 修改application-dev.properties,更新MySQL賬號和密碼

  • Eclipse、IDEA運(yùn)行SpringbootApplication.java,則可啟動項(xiàng)目?;蛟趌iugh-parent目錄下運(yùn)行命令mvn clean package,然后在liugh-web/target目錄下運(yùn)行java -jar liugh-web.jar命令

  • 啟動一個redis服務(wù)

  • 訪問登錄接口:localhost:8081/api/login

  • 賬號密碼:13888888888/123456

  • 獲取token訪問其他接口

  • 注意!!!!!訪問的接口url統(tǒng)一會加上/api/v1;編譯器請安裝lombok插件,不然會報(bào)紅

運(yùn)行截圖:

SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


新聞標(biāo)題:SpringBoot+JWT+Shiro+MybatisPlus如何實(shí)現(xiàn)Restful快速開發(fā)后端腳手架
文章起源:http://weahome.cn/article/jjjpch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部