代码地址以下:
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大师代发,拒绝转载,转载须要做者受权