认证权限管理系统后台 bootshiro

gamedevd 2018-11-10

bootshiro是基于springboot+shiro+jwt的真正restful url资源无状态认证权限管理后端,前端usthe。

开源愿景是提供一个动态的,页面可配置式的rest api保护,开发者无需关注认证权限安全等,后端开发好api,前端页面配置即可。

数据传输动态秘钥加密,jwt过期刷新,用户操作监控等加固应用安全,基于docker-jenkins的持续集成持续部署(CICD)方案。

使用和一些约定

  • 您使用此项目在后端开发好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之后会自动获取授权菜单)

项目的基础框架设计:

总的长这样:

认证权限管理系统后台 bootshiro

前端usthe

基于angular5 + angular-cli + typeScript + rxjs + bootstrap + adminLTE,践行angular最佳实践。

后端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(https://github.com/tomsun28/DockerFile/blob/master/nginx/nginx.conf)

持续集成

认证权限管理系统后台 bootshiro

演示

认证权限管理系统后台 bootshiro

认证权限管理系统后台 bootshiro

认证权限管理系统后台 bootshiro

认证权限管理系统后台 bootshiro

在线演示

  • http://tom.usthe.com/
  • http://tom.usthe.com/api/swagger-ui.html (Swagger api文档)

项目地址

https://gitee.com/tomsun28/bootshiro

相关推荐