推荐一个作者全新认证鉴权项目sureness,配置少灵活度高,长期支持

sureness gitee地址 https://gitee.com/tomsun28/sureness
sureness github地址 https://github.com/tomsun28/sureness

面对restful api的认证鉴权,基于RBAC主要关注于对restful api的保护
原生支持 restful api, websocket protection
原生支持动态权限(权限配置的动态加载)
原生支持 jwt, Basic Auth ... 可扩展自定义支持的认证方式
基于改进的字典匹配树大大提高性能
一个jar包就搞定

bootshiro

线上演示
管理系统
druid sql监控 admin/admin Swagger api文档
java doc

使用和一些约定


学习交流QQ群 482621971
生活不易,(5月中后)求接私活

项目的基础框架设计:

总的长这样:

image1


前端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

持续集成

流程长这样~:

image2

增加kubernetes支持:
bootshiro.yaml

详细实现技术见另一篇: docker学习

相关文档


部署


1.IDE启动调试

2.docker本地启动

3.jenkins+docker持续集成持续部署CICD

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



## 仓库 

gitee(main rep):  

 [bootshiro](https://gitee.com/tomsun28/bootshiro)  
 [usthe](https://gitee.com/tomsun28/usthe) 

github: 

[bootshiro](https://github.com/tomsun28/bootshiro)  
[usthe](https://github.com/tomsun28/usthe)  

。。。。。持续同步更新。。。。

======================================

欢迎一起完善哦^^  

<br>
<br>

### 效果展示  

![image4](/image/image4.PNG)   

![image5](/image/image5.PNG)   

![image6](/image/image6.PNG)   

![image7](/image/image7.PNG)   

thanks:  

[Howieair](http://iconfont.cn/user/detail?spm=a313x.7781069.0.d214f71f6&uid=187147)的小猪图标  
[zhangkaitao](http://jinnianshilongnian.iteye.com/blog/2018936)的跟我学shiro   
网络上前辈们的教程文章开源项目

Thanks Open Source license support by   [![jetBrains Open Source](/image/jetbrains.svg)](https://www.jetbrains.com/?from=bootshiro)
<br>
<br>
<br>