之前的文章中有介绍spring cloud sso集成的方案,也做过spring + jwt + redis的解决方案,不同系统的无缝隙集成,统一的sso单点登录界面的管理、每个应用集成的权限认证,白名单等都是我们需要考虑的,现在针对于以上的问题我们做了sso单点登录应用认证平台,设计如下:
1. 数据库设计:
-
DROP TABLE IF EXISTS `sso_app_apply`;
-
CREATE TABLE `sso_app_apply` (
-
`id` varchar(
200
) NOT NULL COMMENT
'编号'
,
-
`type` varchar(
200
) NOT NULL COMMENT
'所属分类'
,
-
`applicant` varchar(
200
) NOT NULL COMMENT
'申请人'
,
-
`approver` varchar(
200
) NOT NULL COMMENT
'审批人'
,
-
`appname` varchar(
200
) NOT NULL COMMENT
'应用名称'
,
-
`range` varchar(
200
) NOT NULL COMMENT
'使用范围'
,
-
`token` varchar(
200
) NOT NULL COMMENT
'token认证码'
,
-
`approval_time` datetime NOT NULL COMMENT
'审批时间'
,
-
`create_date` datetime NOT NULL COMMENT
'创建时间'
,
-
`update_by` varchar(
64
) NOT NULL COMMENT
'更新者'
,
-
`update_date` datetime NOT NULL COMMENT
'更新时间'
,
-
`del_flag`
char
(
1
) NOT NULL DEFAULT
'0'
COMMENT
'删除标记'
,
-
`status`
char
(
1
) DEFAULT
'0'
COMMENT
'审核状态:0(待审核) 1(审核通过) 2(驳回) 3(黑名单)'
,
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=
'sso应用申请表'
;
-
DROP TABLE IF EXISTS `sso_app_template`;
-
CREATE TABLE `sso_app_template` (
-
`id` varchar(
200
) NOT NULL COMMENT
'编号'
,
-
`a_id` varchar(
200
) NOT NULL COMMENT
'应用id'
,
-
`t_id` varchar(
200
) NOT NULL COMMENT
'模板id'
,
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=
'sso应用模板中间表'
;
-
DROP TABLE IF EXISTS `sso_template`;
-
CREATE TABLE `sso_template` (
-
`id` varchar(
200
) NOT NULL COMMENT
'编号'
,
-
`name` varchar(
200
) NOT NULL COMMENT
'模板名称'
,
-
`type` varchar(
200
) NOT NULL COMMENT
'模板分类'
,
-
`img` varchar(
200
) NOT NULL COMMENT
'模板图片'
,
-
`create_by` varchar(
64
) NOT NULL COMMENT
'创建者'
,
-
`create_date` datetime NOT NULL COMMENT
'创建时间'
,
-
`update_by` varchar(
64
) NOT NULL COMMENT
'更新者'
,
-
`update_date` datetime NOT NULL COMMENT
'更新时间'
,
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=
'sso模板表'
;
2. 执行流程
A. 成用户注册 (可以注册个人账户或者企业账户)
B. 申请应用(可能是多个应用),选择不同的模板(不同模板对应不同行业的sso单点登录系统)
C. 管理人员进行应用审核(申请人提交信息的审核),审核通过以后通过加密方式生成应用对应的token信息
D. 后台管理(应用列表、应用审核、模板管理等)
E. 将token信息和应用信息传递,进行sso统一拦截器认证(验证白名单)
F. 成功or失败(跳转到指定模板的sso登录界面)
3. 效果界面:
(企业架构源码可以加求球:叁五三陆二肆柒二伍玖)
到此完毕!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69984951/viewspace-2733597/
,如需转载,请注明出处,否则将追究法律责任。