首先是单点登录的基本原理理解,此处可看这篇文章,写得很浅显易懂:https://www.cnblogs.com/lexiaofei/p/7172214.html

进入正题,如何真正实现一个系统的单点登录方案呢?

大家都知道在JAVA web中,服务器保持登录状态使用的是session机制,而在客户端如果希望存储某个系统的信息使用的是cookie机制。而SSO WEB的实现方案正是根据这两个来进行实现的。

在一个拥有多个子系统的业务情况下,当用户首次登录到系统A时,检查到用户未登录,此时,程序将会跳转到单点登录系统中进行登录,并且将原本想要跳转的页面当做一个url的一个参数进行暂时存储。接下来便是单点登录的重头戏了:

1.进入登录的controller之后,进行常规的数据校验对比登录信息,对比无误后即登录成功。接着我们将生成一个session,该session对应一个唯一的sessionId,然后我们设置一个token令牌(例如用UUID,他是单点登录的授权令牌),并把token存到redis上。

2.我们将某个固定的key例如“MYSSO_token”+存储到cookie中,value为sessionId,并带上token令牌参数(浏览器发送http请求时会自动携带与该域匹配的cookie,而不是所有cookie,所以key一样也不会产生覆盖)。

3.最后,我们返回所要跳转的原本的url即可。

这就是单点登录第一次进入到系统时所要做的所要操作。

当用户进入系统B时,他如果在系统A上已经登录过了,那么进入登录的controller之后,会进行先读取cookie中的key为“MYSSO_token”的内容,如果value存在,即存在sessionId,然后就能取到值,用户处于登录状态,然后就可以取出相应的用户的用户信息和token令牌啦,然后返回到系统B上,带上token,直接就登录成功了。

整个单点登录的流程图解可参考下图(参考自https://www.cnblogs.com/ywlaker/p/6113927.html 的图解)

这就是整个单点登录的全部内容啦,如果对你有作用点个赞咯。

JAVA SSO单点登录原理以及实现方案相关推荐

  1. java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术

    原标题:深入浅出让你理解跨域与SSO单点登录原理与技术 一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互 ...

  2. cas跨域单点登录原理_CAS实现SSO单点登录原理

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  3. SSO单点登录原理剖析

    转载于:http://www.cnblogs.com/gxbk629/p/4473569.html CAS实现SSO单点登录原理 1.      CAS 简介 1.1.  What is CAS ? ...

  4. SSO单点登录原理详解

    本文主要对SSO单点登录与CAS.OAuth2.0两种授权协议的关系和原理进行详细说明. 1. 基础概念 术语解释 SSO-Single Sign On,单点登录 TGT-Ticket Grantin ...

  5. XSS跨站脚本攻击防御和Cookie,及SSO单点登录原理

    XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入 ...

  6. JavaWeb - SSO单点登录原理之基于CAS(一)

    一.单系统登录机制 1.http无状态协议 web应用采用browser/server架构,http作为通信协议.http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关 ...

  7. asp 退出登录修改cookie能进入后台_深入浅出让你理解跨域与SSO单点登录原理与技术...

    一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用 ...

  8. java sso单点登录源码_Java单点登录系统 sso源码下载

    这是一个使用Java开发的单点登陆系统(sso). 运行截图 单点登陆介绍 单点登录,这就是我们通常称之为SSO.一般来说,大型系统平台将使用这些东西.它解决了频繁登录和验证的过程,即用户的一次登录被 ...

  9. 深入理解跨域SSO单点登录原理与技术

    文章目录 1 SSO体系结构 1.1 SSO 1.2 体系结构 1.3 Token(令牌) 1.4 同域SSO原理分析 token的生成 token过期移除 认证流程 1.5 跨域SSO原理分析 分析 ...

  10. CAS实现SSO单点登录原理介绍

    一.结构体系 从结构体系看, CAS 包括两部分: CAS Server 和 CAS Client . 1. CAS Server CAS Server 负责完成对用户的认证工作 , 需要独立部署 , ...

最新文章

  1. Y15BeTa蜂鸣器唱歌程序-演奏版
  2. pandas 2 选择数据
  3. Python-第三方库requests详解
  4. Mysql优化系列(0)--总结性梳理
  5. Java泛型初探————泛型通配
  6. 平衡二叉树中需要旋转的情况
  7. 向域管理转型所遇到的问题
  8. java------用File类列出一个目录下的所有文件夹和文件
  9. 出版新书《从毕业生到程序员 使用C#开发商业软件》
  10. 用c语言实现相机坐标的过滤,华为2014年机试题【字符串过滤】-【C语言/C++】
  11. [PHP] - Laravel - CSRF token禁用方法与排除验证csrf_token的url设置
  12. rtmp中flv和flv文件的区别
  13. 计算机更新bios,升级bios,详细教您主板怎么更新bios
  14. 长链接(MQTT)测试及工具MQTTX使用
  15. 信杂比公式_信噪比(信噪比计算公式)
  16. C++17之std::optional
  17. php获取股市交易日,个股交易日一年多少天?股市交易时间规定
  18. 权威公布岑巩马家寨为一代佳人陈圆圆归隐地
  19. python实现电子相册_spring+hibernate+JQuery开发_电子相册_源码
  20. 手把手教你在浏览器上安装油猴

热门文章

  1. 风云2号卫星云图_中国为什么要发这么多卫星?答案没有出乎意料
  2. 语音通计算机怎么安装方法,win7系统语音包安装图文教程
  3. Delphi教程推荐
  4. linux cisco路由器,Linux用dynamic模拟cisco路由器
  5. QT+SQL Server实现车辆管理系统 -代码具体实现
  6. PSAM卡、SAM卡、SIM卡
  7. Kali Linux 2022下载
  8. 【Android】五种常用布局方式详解(图文+示例)持续更新中...
  9. Exchange2010安装指南
  10. Linux - Centos7 查询系统安装时间以及硬盘序列号命令