用7这个数字,是因为我儿子是七夕出生的,就是单存觉得7这个数字很nice。开源的sso框架有很多,公司的、个人的,
优秀的很多。那为什么我又要搞个呢?因为我对单点登录的流程太过于熟悉了,以至于太想把自己的想法通过代码的方式给呈
现出来,代码秉承简洁易懂的原则不做作不搞什么花里胡哨,因为很纯粹的用户认证就那么点功能搞那么复杂干嘛,就算搞复杂,
后面随随便便开个分支不就开干了!最最最重要的是代码没什么神秘感,你说它有价值吗,有,你说能它能创造价值吗,那可不
一定。因为同类型的开源项目多了去了,不差我这一个,之所以选择开源,一是对我自己写的东西的尊重,二是放出来,让更多人
参与进来,不管是star也好,fork也好,学习借鉴也好,只要本项目能够帮助到你,我开源的目的就达到了。虽然不是什么好项目,
但毕竟也是一个个abcd敲出来的,如果你在学习和使用的过程中发现很多问题,欢迎前来指正!
本项目模块化鲜明,配置极度灵活,Session缓存的实现方式考虑的很周到,基本上使用者只需要简单配置一下就可以轻松
实现Session的缓存功能,如redis的实现方式就多达4种,可基于灵活的配置适配redis的各种部署方式。项目的模块配置也是
极力遵循SpringBoot提出的"约定大于配置",采用了自动装配技术,从而省去了使用者引入相应模块需要做过多bean扫描配置
的时间。同时,项目配套的文档也比较齐全:如项目模块图、项目软件设计、项目单点登录流程(序列)图、项目接口文档、项目
配套的前端测试站点等也应有就有,且所有的文档都能在项目源码包中找到(不藏着掖着)。
最后,务必要多调试代码多揣摩时序图,这一点非常非常重要!其次,整个项目所有的资源文件全部在根目录下的src/main
下的resources目录下,包括接口文档源文件(可二次修改,基于apidoc自动生成)、数据库脚本、ea软件建模设计文件、项目
测效果截图及单点登录分别在local和client模式下的时序图等。
- SpringBoot 2.2.2.RELEASE
- Mybatis 3.4.6
- Tk.Mybatis.SpringBoot 2.1.5
- PageHelper.SpringBoot 1.2.10
- Jedis 3.1.0
- Expiringmap 0.5.9
- JWT 3.8.0
- PostgreSql 42.2.5
- Lombok 1.18.10
- React 17.0.2
- DvaJs 2.6.0-beta.22
- React-Router-Dom v5 (dva模块中自带)
- AntD 4.21.0
- Axios 0.27.2
- TypeScript 4.4.2
- Craco 6.4.3 (打包模块)
原图地址:https://www.processon.com/view/link/62d4e7671efad4037a117c03
原图地址:https://www.processon.com/view/link/62d4e7970e3e74607275dfc7
- git clone xxxxx
- mvn clean package -DskipTests=true
- 分别启动seven-sso-server、seven-auth-client和seven-auth-admin模块服务
- 浏览器访问地址:http://localhost:8866
- 按照用户注册,用户登录进行流程测试即可!
- 具体可以参考我的博文:https://blog.csdn.net/Appleyk/article/details/125838806
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
- 如果你提交的request对项目有用,我会merge的