之前的文章中有介绍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. 效果界面:
到此完毕!
核心架构:Spring Cloud、Spring Boot、Mybatis、Redis、Rabbit MQ、微服务、分布式、电子商务
核心思想:产品微服务、模块化、原子化、持续集成、分布式、集群部署
开发模式:代码生成工具、驱动式开发模式、提高开发效率
微信扫码可以体验小程序~
相关推荐
本文将深入探讨如何在Spring Cloud环境中集成OAuth2以实现身份认证和单点登录。 首先,OAuth2是一个授权框架,它允许第三方应用在用户的许可下访问其私有资源。OAuth2的主要角色包括资源所有者(用户)、客户端(第...
SpringCloud+SpringBoot+OAuth2+Spring Security+Redis实现的微服务统一认证授权
在"springCloud-master_单点登录_springCloud单点登录_SpringCloud系统_springcloud eureka单点登录"这个项目中,我们将重点探讨如何在SpringCloud环境中实现单点登录(Single Sign-On,简称SSO)。 单点登录是一种...
本资源“Java-spring cloud alibaba 微服务单点登录及组件配置学习源码”是专为初学者设计的,旨在帮助他们快速理解和实践微服务中的单点登录(SSO)机制,以及如何配置相关组件。 首先,让我们深入了解Spring ...
在IT行业中,单点登录(Single Sign-On,简称SSO)是一种重要的身份验证机制,它允许用户在一个系统中登录后,无需再次输入凭证即可访问多个相互信任的应用系统。Spring Cloud OAuth2结合Zuul,为微服务架构提供了一...
在这个特定的例子中,我们将探讨如何使用Spring Cloud实现单点登录(Single Sign-On, SSO)机制,并利用Redis作为session的存储。 SSO是一种允许用户在一个认证域内登录后,无需再次登录即可访问其他系统的身份验证...
在分布式系统中,单点登录(Single Sign-On,简称SSO)是一种常见的身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需多次登录。在SpringCloud框架中,我们可以利用其组件和特性来实现SSO功能...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在Java环境下实现SSO,我们可以利用多种框架和技术,例如Spring Security、CAS...
master_oauth2_springcloud_anyone7nd_sso_sentence8we_"是一个利用Spring Cloud和OAuth2.0实现的单点登录示例,它的价值在于提供了一个实践SSO解决方案的模板,帮助开发者理解和掌握相关技术在微服务架构中的应用。...
在本案例中,我们将探讨如何利用Spring Security OAuth2实现SSO(Single Sign-On)单点登录功能。 SSO是一种让用户只需一次登录就能够访问多个相互信任的应用系统的技术。在企业环境中,这种功能能够极大地提高用户...
采用分布式架构,面向服务的思想,该项目是自己在学习SpringBoot和SpringCloud时自己写的一个小项目,整体的功能上不是很完善,只做了用户登录注册,商品的展示,及SSO单点登录。前端页面是找别人要的,很炫酷。自己...
全网最新的Cloud 权限系统 基于Spring Boot 2.0.4.RELEASE ...基于 Spring Security oAuth 深度定制,支持社交登录等 完整的OAuth 2.0 流程,资源服务器控制权限 去除了部分对于开发不友好的中间件,快速上手
本文将深入探讨如何利用这两个强大的框架来构建一个实现单点登录(Single Sign-On,SSO)及安全授权的系统。 `SpringCloud` 是基于 `Spring Boot` 构建的云应用开发工具集,它使得开发者能够快速地搭建分布式系统中...
采用分布式架构,面向服务的思想,该项目是自己在学习SpringBoot和SpringCloud时自己写的一个小项目,整体的功能上不是很完善,只做了用户登录注册,商品的展示,及SSO单点登录。前端页面是找别人要的,很炫酷。自己...
整合了Mybatis、Redis集群、druid等技术,采用分布式架构,面向服务的思想,该项目是自己在学习SpringBoot和SpringCloud时自己写的一个项目,做了用户登录注册,商品的展示,及SSO单点登录等。前端页面是找别人要的...
单点登录(Single Sign-On, SSO)让用户在多个系统间只需一次登录即可。系统可能集成了CAS、OAuth2.0或JWT等技术来实现多系统间的SSO,提升用户体验。 10. **Vue.js**: Vue.js 是一个轻量级的前端JavaScript框架...
在这个场景下,我们将探讨如何使用Spring Cloud集成OAuth2来实现身份认证和单点登录(SSO,Single Sign-On)。 OAuth2是一个开放标准,主要用于授权,它允许用户授权第三方应用访问其私有资源,而无需共享用户名和...