ITPub博客

首页 > 应用开发 > Java > Spring+ Spring cloud + SSO单点登录应用认证

Spring+ Spring cloud + SSO单点登录应用认证

原创 Java 作者:我祈美如画 时间:2020-11-11 17:18:58 0 删除 编辑

之前的文章中有介绍spring cloud sso集成的方案,也做过spring + jwt + redis的解决方案,不同系统的无缝隙集成,统一的sso单点登录界面的管理、每个应用集成的权限认证,白名单等都是我们需要考虑的,现在针对于以上的问题我们做了sso单点登录应用认证平台,设计如下:

1. 数据库设计:

Java代码   收藏代码
  1. DROP TABLE IF EXISTS `sso_app_apply`;  
  2. CREATE TABLE `sso_app_apply` (  
  3.   `id` varchar( 200 ) NOT NULL COMMENT  '编号' ,  
  4.   `type` varchar( 200 ) NOT NULL COMMENT  '所属分类' ,  
  5.   `applicant` varchar( 200 ) NOT NULL COMMENT  '申请人' ,  
  6.   `approver` varchar( 200 ) NOT NULL COMMENT  '审批人' ,  
  7.   `appname` varchar( 200 ) NOT NULL COMMENT  '应用名称' ,  
  8.   `range` varchar( 200 ) NOT NULL COMMENT  '使用范围' ,  
  9.   `token` varchar( 200 ) NOT NULL COMMENT  'token认证码' ,  
  10.   `approval_time` datetime NOT NULL COMMENT  '审批时间' ,  
  11.   `create_date` datetime NOT NULL COMMENT  '创建时间' ,  
  12.   `update_by` varchar( 64 ) NOT NULL COMMENT  '更新者' ,  
  13.   `update_date` datetime NOT NULL COMMENT  '更新时间' ,  
  14.   `del_flag`  char ( 1 ) NOT NULL DEFAULT  '0'  COMMENT  '删除标记' ,  
  15.   `status`  char ( 1 ) DEFAULT  '0'  COMMENT  '审核状态:0(待审核) 1(审核通过) 2(驳回) 3(黑名单)' ,  
  16.   PRIMARY KEY (`id`)  
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT= 'sso应用申请表' ;  

 

Java代码   收藏代码
  1. DROP TABLE IF EXISTS `sso_app_template`;  
  2. CREATE TABLE `sso_app_template` (  
  3.   `id` varchar( 200 ) NOT NULL COMMENT  '编号' ,  
  4.   `a_id` varchar( 200 ) NOT NULL COMMENT  '应用id' ,  
  5.   `t_id` varchar( 200 ) NOT NULL COMMENT  '模板id' ,  
  6.   PRIMARY KEY (`id`)  
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT= 'sso应用模板中间表' ;  

 

Java代码   收藏代码
  1. DROP TABLE IF EXISTS `sso_template`;  
  2. CREATE TABLE `sso_template` (  
  3.   `id` varchar( 200 ) NOT NULL COMMENT  '编号' ,  
  4.   `name` varchar( 200 ) NOT NULL COMMENT  '模板名称' ,  
  5.   `type` varchar( 200 ) NOT NULL COMMENT  '模板分类' ,  
  6.   `img` varchar( 200 ) NOT NULL COMMENT  '模板图片' ,  
  7.   `create_by` varchar( 64 ) NOT NULL COMMENT  '创建者' ,  
  8.   `create_date` datetime NOT NULL COMMENT  '创建时间' ,  
  9.   `update_by` varchar( 64 ) NOT NULL COMMENT  '更新者' ,  
  10.   `update_date` datetime NOT NULL COMMENT  '更新时间' ,  
  11.   PRIMARY KEY (`id`)  
  12. ) 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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-05

  • 博文量
    33
  • 访问量
    16576