代码地址如下:
http://www.demodashi.com/demo/13277.html
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等有用到过,但我不熟。。。
基于springboot + apache shiro + mybatis
框架,restful风格api,自定义状态码,json-web-token,druid数据库连接池,swagger文档生成,redis存储refreshtoken和动态秘钥,maven,MD5单向加密和AES双向等。。。
这个nginx作为反向代理服务器,解决了跨域,真实IP头(现服务器端支持跨域可不用nginx)。另一个nginx作为angular应用服务器,tomcat作为bootshiro的服务器。
反向代理的nginx.conf见: conf
详细实现技术见另一篇: docker学习
1 IDE启动调试
1.1 bootshiro
1.2 usthe
2 docker本地启动
2.1 bootshiro
- 更改生产环境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
2.2 usthe
3 jenkins+docker持续集成持续部署CICD
3.1 bootshiro
““
REGISTRY_URL=127.0.0.1:5000
TAG= REGISTRYURL/ R E G I S T R Y U R L / JOB_NAME:date +%y%m%d-%H-%M
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
docker build -t TAG T A G WORKSPACE/.
docker push TAGdockerrmi T A G d o c k e r r m i TAG
if docker ps -a | grep -i JOBNAME;thendockerrm−f J O B N A M E ; t h e n d o c k e r r m − f JOB_NAME
fi
docker run -d -p 8085:8080 –name JOBNAME−v/opt/dockerWorkspace/tomcat/ J O B N A M E − v / o p t / d o c k e r W o r k s p a c e / t o m c a t / JOB_NAME/logs:/opt/tomcat/logs $TAG
““
3.2 usthe
““
REGISTRY_URL=127.0.0.1:5000
TAG= REGISTRYURL/ R E G I S T R Y U R L / JOB_NAME:date +%y%m%d-%H-%M
docker build -t TAG T A G WORKSPACE/.
docker push TAGdockerrmi T A G d o c k e r r m i TAG
if docker ps -a | grep -i JOBNAME;thendockerrm−f J O B N A M E ; t h e n d o c k e r r m − f JOB_NAME
fi
docker run -d -p 4200:80 –name JOBNAME J O B N A M E 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大师发表,拒绝转载,转载需要作者授权