基於springboot2+ shiro+jwt的真正rest api資源無狀態認證權限管理框架,開發人員無需關注權限問題,後端開發完api,前端頁面配置即可(前後端分離)
項目的基礎框架設計:
總的長這樣:
前端usthe
基於angular5 + angular-cli + typeScript + rxjs + bootstrap + adminLTE,踐行angular最佳實踐。過程中node,webpack等有用到過,但我不熟。。。
後端bootshiro
基於springboot + apache shiro + mybatis框架,restful風格api,自定義狀態碼,json-web-token,druid數據庫連接池,swagger文檔生成,redis存儲refreshtoken和動態秘鑰,maven,MD5單向加密和AES雙向等。。。
gate -nginx
這個nginx作為反向代理服務器,解決了跨域,真實IP頭(現服務器端支持跨域可不用nginx)。另一個nginx作為angular應用服務器,tomcat作為bootshiro的服務器。
反向代理的nginx.conf見: conf
持續集成
流程長這樣~:
部署
1.IDE啟動調試
- fork 項目到自己的倉庫(歡迎star^.^)
- clone 項目到本地 git clone https://gitee.com/yourName/bootshiro.git
- 用idea導入
- 更改開發環境mysql數據庫和redis地址(前提安裝數據庫並導入usthe.sql創建數據庫usthe)
- 運行BootshiroApplication
- bootshiro就可以提供api了 http://localhost:8080
- 推薦使用postman進行api調試
- 項目中的postman_test_example.json文件就是postman樣例,導入即可
2.docker本地啟動
- fork 項目到自己的倉庫(歡迎star^.^)
- clone 項目到本地 git clone https://gitee.com/yourName/bootshiro.git
- 更改生產環境mysql數據庫和redis地址(前提安裝數據庫並導入usthe.sql創建數據庫usthe)
- 前提已經存在maven環境,docker環境(docker常用看這裡)
- mvn clean install -Dmaven.test.skip=true打出jar包
- 在項目目錄下 docker build -t bootshiro:1.0 .
- docker images看是否生成鏡像成功
- 運行 docker run -d -p 8080:8080 --name haiGirl bootshiro:1.0
- docker ps 就可以看見您的haiGirl了
- bootshiro就可以提供api了 http://localhost:8080
3.jenkins+docker持續集成持續部署CICD
- fork 項目到自己的倉庫(歡迎star^.^)
- clone 項目到本地
- 更改生產和開發環境mysql數據庫和redis地址(前提安裝數據庫並導入usthe.sql創建數據庫usthe)
- 搭建CICD環境有點繁瑣,看這裡最下面
- 參照搭建完成後,bootshiro對應的jenkins下運行shell:
效果展示
後臺管理系統源碼已經全部上傳倉庫完畢,如果您需要用到這份源碼的話, 可以關注轉發文章之後私信回覆【源碼】即可免費獲取到!