SSO单点登录前后端分离完整版·(开源)

博主分享了自己在业余时间构建的SSO(单点登录)系统,前后端分离,包括源码仓库、模块划分、核心业务设计和流程时序图。项目采用Java和前端技术栈实现,详细介绍了各个模块的功能和启动流程,并提供了数据库ER图和接口文档。博主强调慢工出细活,希望通过开源帮助他人学习和理解SSO。未来计划制作视频分享开发经验。

前言:3月建的仓,完成确是在7月中旬,实际完成时间加起来不到10天,中间停滞了很久,主要工作太忙,白天没时间搞,况且工作摸鱼也不是我的作风,晚上下班回家要帮家人一起带娃,唯一的时间也会用来看看书和视频充充电,时间唯一“宽裕”点的就是周末,但周末时间也不是全部用来赶工,偶尔也得休息放松放松,也是想起了就搞一点,这种状态其实挺好的,做自己喜欢的事情,没人催,慢工出细活,落地就行了。

一、源码仓库地址:

1.1 Gitee

https://gitee.com/appleyk/seven-sso/tree/v1.0/



1.2 GitHub

https://github.com/kobeyk/seven-sso/tree/v1.0




 二、前后端分离

2.1 后端

启动sso-server服务模块

启动client模块前,先启动redis

启动seven-app-test/seven-auth-client模块

sso-server服务端应用站点静态配置

2.2 前端 


seven-sso-ui 前端模块单独启动(如果单独启动,需要手动yarn,如果是maven编译,会自动yarn依赖):yarn start


如果appId不合法会抛出错误

启动seven-auth-local,前端站点配置local模式和local模式下的后端服务地址

local模式登录,无需指定appId


代码中,后端服务总过有4个端口,分别是:

8866:seven-auth-admin模块的服务端口,admin模块启动后其实访问的也是前端构建好的静态文件。

8080:seven-sso-server模块的服务端口;

8081:seven-auth-client(seven-app-test父模块下)模块的服务端口,这个需要配合seven-sso-server使用,且前端站点的config.js走的是sso模式才有意义;

8082:seven-auth-local(seven-app-test父模块下)模块的服务端口,这个可以单独启动,即这个模块模拟的是应用系统后端将用户认证功能合为一体的情况,这个需要配置local模式的前端站点配置。

整个测试过程看似繁琐,实则每个模块的功能职责很清晰,多跑几遍测试测试,你一定会对单点登录有一个全新的认知!喜欢的关注一波再走!


 seven-auth-admin 后面模块启动,访问效果如下:

应用系统首页,为了演示,这里只搞了一个简单的UI



三、项目模块划分


四、核心业务设计



 


五、各模块流程时序图

5.1 Client模块引入后工作流程图:

原图地址:Client模块时序图


5.2 Local模块引入后工作流程图:

原图地址:Local模块时序图 


六、数据库ER图

用户密码MD5加密

六、接口文档

接口文档地址:http://localhost:8080/




七、技术栈


八、最后

        其实也没什么想说的,最近太忙了,没时间细说这个项目,这个项目也是抽时间整理出来的,这个项目跟之前我开源出来的license项目意义差不多,都是后端做Java Web应用系统用的比较多的功能,之所以开放出来,一是觉得这种项目如果闭塞的话,其实没多大意义,不如开出来让更多人学习借鉴,二是走开源项目可以使自己沉淀积累通用的东西,我开出来的项目不是随随便便的,都是经过梳理设计的,不说很优秀吧,起码设计上还是很巧妙的,代码看上去还是很舒服的。

       等什么时候来兴致了,准备做个UP主,把自己这些年的管理和开发经验好好说道说道,正所谓授人以鱼不如授人以渔!我个人是强烈甚至是反感八股文"架构师"的,就这,有时间再说吧。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值