代碼地址以下:
http://www.demodashi.com/demo/13277.htmlhtml
bootshiro
是基於springboot+shiro+jwt
的真正restful URL
資源無狀態認證權限管理系統的後端usthe
是restful URL
資源無狀態認證權限管理系統的前端,基於angular+typeScript+adminLte
restful api
安全管理支持jwt
過時刷新,用戶操做監控等 加固應用安全api
後,須要在前端頁面 資源配置->API管理 新增基於ant
匹配風格的api
(約定沒有配置的api沒有保護)eg:
獲取角色關聯的對應用戶列表 rest-url
爲 /role/user/{roleId}/{currentPage}/{pageSize}
訪問方式爲GET
, 您須要在頁面新增api:
/role/user/*/*/*
GET
方式url
匹配鏈約定爲 url=
url+"=="+httpMethod
api
後,您須要在 資源配置->角色管理 配置您想要受權角色的API,菜單,關聯用戶等資源(約定受權給auth_anon
角色的api
能夠被全部人訪問,注意沒有受權給任何角色的api是能夠被任何人訪問的)sessionStorage
防止重複獲取,您受權變動菜單以後想要看的效果須要關閉頁面從新打開(或者清除sessionStorage
以後會自動獲取受權菜單)總的長這樣:
前端
基於angular5 + angular-cli + typeScript + rxjs + bootstrap + adminLTE
,踐行angular最佳實踐。
過程當中node,webpack等有用到過,但我不熟。。。node
基於springboot + apache shiro + mybatis
框架,restful風格api,自定義狀態碼,json-web-token,druid數據庫鏈接池,swagger文檔生成,redis存儲refreshtoken和動態祕鑰,maven,MD5單向加密和AES雙向等。。。mysql
這個nginx做爲反向代理服務器,解決了跨域,真實IP頭(現服務器端支持跨域可不用nginx)。另外一個nginx做爲angular應用服務器,tomcat做爲bootshiro的服務器。webpack
反向代理的nginx.conf見: confnginx
流程長這樣~:
git
詳細實現技術見另外一篇: docker學習github
1 IDE啓動調試web
1.1 bootshiroredis
1.2 usthe
2 docker本地啓動
2.1 bootshiro
2.2 usthe
3 jenkins+docker持續集成持續部署CICD
3.1 bootshiro
#!/bin/bash #build in jenkins sh #docker docker hub倉庫地址,以後把生成的鏡像上傳到 registry or docker hub REGISTRY_URL=127.0.0.1:5000 #docker login --username tomsun28 --password xxxx #根據時間生成版本號 TAG=$REGISTRY_URL/$JOB_NAME:`date +%y%m%d-%H-%M` #使用maven 鏡像進行編譯 打包出 jar 文件 docker run --rm --name mvn -v /opt/dockerWorkspace/maven:/root/.m2 \ -v /opt/dockerWorkspace/jenkins_home/workspace/$JOB_NAME:/usr/src/mvn -w /usr/src/mvn/ \ tomsun28/maven:1.0 mvn clean install -Dmaven.test.skip=true #使用放在項目下面的Dockerfile打包生成鏡像 docker build -t $TAG $WORKSPACE/. docker push $TAG docker rmi $TAG #判斷以前運行的容器是否還在,在就刪除 if docker ps -a | grep -i $JOB_NAME;then docker rm -f $JOB_NAME fi #用最新版本的鏡像運行容器 docker run -d -p 8085:8080 --name $JOB_NAME -v /opt/dockerWorkspace/tomcat/$JOB_NAME/logs:/opt/tomcat/logs $TAG
3.2 usthe
#!/bin/bash #build in jenkins sh #docker docker hub倉庫地址,以後把生成的鏡像上傳到 registry or docker hub REGISTRY_URL=127.0.0.1:5000 #docker login --username tomsun28 --password xxxx #根據時間生成版本號 TAG=$REGISTRY_URL/$JOB_NAME:`date +%y%m%d-%H-%M` #使用放在項目下面的Dockerfile打包生成鏡像 docker build -t $TAG $WORKSPACE/. docker push $TAG docker rmi $TAG #判斷以前運行的容器是否還在,在就刪除 if docker ps -a | grep -i $JOB_NAME;then docker rm -f $JOB_NAME fi #用最新版本的鏡像運行容器 docker run -d -p 4200:80 --name $JOB_NAME $TAG
springboot 先後端分離那種,後臺springboot,前端angular,數據庫操做使用 mybatis
下載後,看到以下的文件包:
項目代碼結構圖以下:
其中tomsun28-bootshiro-master.zip結構以下:
其中tomsun28-usthe-master.zip結構以下:
thanks:
Howieair的小豬圖標
zhangkaitao的跟我學shiro
網絡上前輩們的教程文章開源項目
基於shiro+jwt的真正rest url權限管理,先後端分離
代碼地址以下:
http://www.demodashi.com/demo/13277.html
注:本文著做權歸做者,由demo大師代發,拒絕轉載,轉載須要做者受權