单点登录方案(SSO)

SpringBoot实现单点登录(SSO)的4种方案 从简单的基于Cookie-Session的方案,到复杂的OAuth 2.0/OIDC实现,SSO方案的选择应该基于业务需求、安全要求、用户体验目标和技术约束进行综合考量。 阅读详情

实现方案

单点登录系统的实施不应影响原有子系统的单独运行,即如果从子系统当独登录,只要账号和密码正确,子系统仍能正常运行。
单点登录系统的用户分为原有各子系统的用户和新用户。将子系统的旧用户导入新表时,不必导入密码字段。那么系统用户中password is null的是旧账户,oldSysId是原系统的userId,新增用户时,除了插入Mult_LoginInfo表外还须插入子系统用户表。
为减少登录时对账号的检索,新增用户的account必须保持唯一性。

新增用户
    Mult_LoginInfo保存account,userName,password,e_mail,subSys,生成userId,如果为多系统用户,生成多条仅subSys不同的记录;单点系统必须提供可逆的密码算法。
    往子系统用户表插入数据(包括密码),返回userId给Mult_LoginInfo.oldSysId;
修改用户
    将新的userName和e_mail保存到Mult_LoginInfo。
    同时也保存到subSys中
修改密码
    先通过原密码找出Mult_LoginInfo的对应用户,这个过程与“登录”一致。
    更改单点系统中的密码;
    同时更改多个子系统的密码(account,oldSysId,subSys)
删除用户
    先逐个删除子系统中的用户(oldSysId,subSys)
    如果顺利,则删除Mult_LoginInfo(userId)
登录
    如果登录名不存在Mult_LoginInfo.account中,throw Exception("用户名不正确")
    如果password is not null,单点系统验证密码,否则根据subSys交由子系统验证密码,如果通过,保存subSys。
    如果所有的系统都未通过,throw Exception("密码不对")
    通过之后,保存输入的账号和密码,进入主页,如果在点击子系统的入口,则先调用其登录程序。 

数据库实现

CREATE TABLE Mult_LoginInfo(
  userId    bigint  not null,
  account   varchar(20),
  userName  varchar(50),
  e_mail    varchar(50),
  oldSysId  int,
  subSys    varchar(10),
  password  varchar(50)
)

CREATE TABLE APPLICATION_SERVICE(
   id            int,
   subSys        varchar(8),
   subSys_desc   varchar(64),
   home_url      varchar(100),
   home_ico      varchar(32),
   login_fields  varchar(32),
   system_url varchar(100)
)

Spring Boot 3 实现 SSO 单点登录的多种解决方案 登录成功后,认证中心签发 JWT(JSON Web Token);子系统间共享公钥进行验证,避免中心化管理,系统无状态化。 阅读详情

相关推荐

云平台SSO单点登录实现方案全解析

本文旨在为开发者和架构师提供全面的云平台SSO实现指南,涵盖从基础概念到高级实现的所有关键环节。我们将重点讨论在企业级云平台环境中实施SSO的最佳实践,包括协议选择、安全考虑和性能优化等方面。文章首先介绍SSO的基本概念和背景,然后深入分析各种实现方案的技术细节,接着通过实际代码示例展示具体实现,最后讨论应用场景和未来趋势。: 单点登录,用户只需一次认证即可访问多个相关但独立的系统: 身份提供者,负责认证用户身份: 服务提供者,依赖IdP进行用户认证Assertion: 断言,包含认证信息的数字声明。

AI云原生与云计算技术学院 789

求助:单点登陆帐户密码修改的问题!!

一个困扰很久的问题!!!需求:将AD用户密码和SSO中的帐户密码进行同步,因为AD中是取不出密码的,所以在用户修改AD密码的同时修改对应SSO的密码。遇到的问题:WindowsImpersonationContext wic = null;try{wic = CreateIdentity("administrator", "iswind", "iswind").Imper...

weixin_30784501的博客 356

用Logisim搞定华科计组实验:单总线CPU设计从微程序到硬布线的保姆级通关攻略

本文详细介绍了如何使用Logisim完成华中科技大学计算机组成原理实验中的单总线CPU设计,涵盖从微程序控制器到硬布线控制器的完整实现过程。通过MIPS指令译码器设计、微程序控制原理、状态机实现等关键步骤的保姆级教程,帮助学生掌握CPU设计的核心技能,并提供Educoder平台提交与调试的实用技巧。

weixin_30897233的博客 475

单点登录那些事

前言最近和一个同事讨论了一些关于单点登录的问题,发现对单点登录的理解还是不够深入,所以有必要总结一下了,刚开始接触单点登录的时候,觉得这技术好高大上。他的原理是多么的深不可测。。。。后来经过多次接触发现单点登录果然还是一如既往的难,完全不懂啊!哈哈。。。。只是个玩笑!莫怕,这里和大家一起来学习总结一下sso单点登录,这里将由浅入深,彻底理解什么是单点登录。单系统登录 http协议的无状态 不管是刚

爱琴孩的博客 1247

项目回顾一:《高速多端口共享缓存模块》

本帖子仅为了回顾一下一年前自己动手完成的第一个数字ic设计项目的历程,为复试做一下准备,完成的这个sramc模块花了整整四个月的时间,从0到12个模块的代码产出以及模块的验证,虽然没有拿奖,也没有进入复赛,设计过程中使用的技术手段和算法也不太成熟,但这这是一个值得记录的过程!

weixin_60261760的博客 1254

5分钟搞定阿里云千问大模型API申请:手把手教你获取API Key

本文提供了一份高效的阿里云通义千问大模型API Key获取实战指南。通过清晰的步骤,帮助开发者在五分钟内完成从账号准备、精准导航控制台到创建并验证API Key的全过程,并强调了密钥安全管理和基础调用测试的重要性,助力快速集成AI能力。

ol789012345的博客 1345

怎么实现单点登录?面试必问!

来源:https://dwz.cn/d90vKSJE单点登录的实现原理单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单...

emprere的博客 946

Python实战:用nltk库5步搭建你的第一个n-gram文本生成器(附古诗生成案例)

本文详细介绍了如何使用Python的nltk库5步搭建n-gram文本生成器,并附有古诗生成案例。从环境准备、n-gram原理讲解到完整实现,逐步指导开发者掌握自然语言生成技术。特别针对中文古诗生成进行了优化,包括分词处理和韵律控制,帮助读者快速上手文本生成项目。

weixin_29090089的博客 202

单点登录与第三方登录 + CSRF-XSS-DNS-DDOS-SQL攻击

多系统实现单点登录方案:SSO 单点登录 一、什么是单点登录SSO(Single Sign-On)   SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。 二、单点登录解决了什么问题   解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。 三、单点登录的技术实现机制   如下图所示:    认证后返回给应用系统而不是用户 注(图片所

Java后端技术栈 2万+

手把手拆解DGX GB200 NVL72:1个机柜如何塞进72块GPU?详解NVLink Switch铜缆背板设计

本文深度解析英伟达DGX GB200 NVL72系统如何通过NVLink Switch铜缆背板设计,在标准42U机柜中集成72块B200 GPU,实现1800GB/s的超高带宽。文章详细介绍了模块化架构、铜缆互连技术、液冷散热方案和高密度供电系统等核心创新,为AI算力需求提供突破性解决方案。

red88的博客 1579

多个linux系统安装到一块硬盘(Kylin+UOS+ubuntu)

之前写过一篇类似的文档,笔者把kylin和UOS安装在一块硬盘上上一篇的文档地址多个linux系统安装到一块硬盘(Kylin+UOS)_银河麒麟系统和uos安装成双系统-优快云博客本次记录的是三个系统到一块硬件上银河麒麟:Kylin-Desktop-V10-SP1-Release-2107-arm64统信:uniontechos-desktop-20-professional-1050-arm64乌班图:ubuntu-22.04.5-live-server-arm64。

aggs1990的专栏 565

实现单点登录的几种方式及原理

单点登录的英文名叫做:Single Sign On(简称SSO),指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登陆。为什么需要做单点登录系统呢?在一些互联网公司中,公司旗下可能会有多个子系统,每个登陆实现统一管理,多个账户信息统一管理 SSO单点登陆认证授权系统。

Isonion的博客 5752

Open3D 使用CPD算法对点云配准【2025最新版】

Coherent Point Drift相干点漂移算法实现点云配准(python代码)博客长期更新,本文最近更新时间为:2025年2月2日。

点云侠的博客 8万+

Java实现SSO单点登录方案

Java实现SSO单点登录方案

immanchen的博客 1931

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

算法大师! 1317

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

单点登录sSO的实现原理与方案详解

目录 1.为什么需要单点登录 2.单点登录的来源 3.单点登录的实现方式 为什么需要单点登录 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。 单点登录在大型网站里使用得非常频繁,例如,阿里旗下有淘宝、天猫等网站,还有背后的成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授...

uuqaz的博客 2479

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

umi单点登录:SSO统一认证方案

你是否还在为每个系统都需要单独登录而烦恼?在企业级应用开发中,用户往往需要访问多个独立的业务系统,每个系统都有自己的登录认证机制。这不仅给用户带来重复登录的麻烦,也给开发团队带来巨大的维护成本。 **传统多系统登录的痛点:** - 用户需要记住多套账号密码 - 登录状态无法共享,频繁重新认证 - 安全策略难以统一管理 - 用户权限分散在各个系统中 ## SSO单点登录:统一认证的革命性方案 ...

gitblog_00608的博客 982

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

单点登录SSO的实现原理与方案详解

通过对SSO的深入理解和应用,企业可以更好地平衡用户体验和信息安全之间的需求,实现更高水平的身份验证和访问管理。SSO通过将用户的身份验证信息在多个系统之间共享,使用户只需一次登录,便可在整个系统中无缝访问各个应用,提高了用户体验和工作效率。SSO的基本原理通过这一流程实现了用户在多个应用系统之间的无缝访问,同时通过令牌的使用保障了用户身份信息的安全性。在结论部分,我们将总结SSO的实现原理,并展望未来的发展方向。通过上述的部署与管理策略,SSO系统可以在保障用户体验的同时,提供高效的身份验证和权限管理。

fudaihb的博客 2276

单点登录(SSO)的背景与实现方案

获取访问令牌(Access Token)和/或ID令牌(ID Token):企业信息化发展导致内部系统数量快速增长,员工需要记忆多套账号密码。:多套密码导致用户倾向于使用简单密码或重复密码,增加安全风险。服务提供商(SP)将用户重定向到身份提供商(IdP):IT部门需要为每个系统单独管理用户账户,效率低下。:用户希望在多个关联系统间无缝切换,避免重复登录。子域系统通过读取父域Cookie验证用户身份。用户访问系统A,被重定向到SSO服务器。用户登录后获得票据(Ticket)应用系统通过令牌获取用户信息。

m0_37242314的博客 478

前端实现单点登录(SSO)的方案

保证用户只需登录一次,就能访问多个关联应用,而不需要重复登录。单点登录(Single Sign-On, SSO)主要是。请求 SSO,获取用户信息。

不想起床 2396

【SSO】单点登录方案

当用户发起支付时(③),支付系统会请求Session进行认证(④),Session认证成功后返回认证信息给支付系统(⑤),支付系统完成支付并返回支付信息给商品系统(⑥),从而完成整个购买支付流程。(1)用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数;(4)sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌;(11)sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌;(9)用户访问系统2的受保护资源;

weixin_38085783的博客 655

SSO-单点登录完全解决方案

单点登录,跨域访问,单点登陆,用户跨域,跨域登录,跨域登陆解决方案服务器端可控情形JS跨域访问解决方法http://homepage.yesky.com/458/2703458.shtmlSingle Sign-On Enterprise Security for Web Applicationshttp://msdn2.microsoft.com/en-us/library/ms972971.a

greystar的专栏 1935

Spring Boot 实现单点登录(SSO)的四种方案

单点登录(Single Sign-On,简称SSO)就像企业应用的万能钥匙,让用户用一组账号密码,一次登录,就能畅游多个相关系统,不用反复输入密码。对于有多个应用的企业,这不仅极大提升用户体验,还能降低管理密码的麻烦和风险。今天,我们用最通俗的语言,深度剖析几种主流SSO方案,帮你选对技术,快速落地!

m0_60456028的博客 958
上一篇: Cookie备忘
下一篇: 对生活怀有感恩之心
treeClimber
博客等级 码龄24年 16粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值