SSO单点登录探究【基于cookie共享】

最近看到公司的需求里面有单点登录,就去了解了一下。下面将从SSO单点登录的原理、实现步骤以及实现demo几个方面来讲述自己的理解。


1、SSO根本原理:
登录状态的共享;
1)、登录状态的共享有两种实现方式:
一:cookie共享【但是cookie原则上不能跨域,通过合理的配置在二级域名相同的情况下可以跨域共享】。
二:通过Session共享登录状态。【Spring Session共享方案】
三:通过IP+Agent+User的方式实现状态共享,实际上是模仿了cookie合session机制。【我自己研究的】因为通过IP+Agent+User的形式理论上可以模仿cookie合session识别一次会话。
这里写图片描述
2、实现的概要步骤【网络上的步骤乱七八糟各种不合理,自己整理了下】
1)、子系统一登陆,未登陆则进入SSO认证中心认证,成功则更新登陆状态【创建全局会话】,返回共享媒介;
2)、子系统二携带共享媒介,获取全局会话,读取登陆信息和登陆状态,实质是通过共享媒介保持了会话状态。
3)、退出时只需要注销全局会话状态即可。

【以上的概要步骤对SSO根本原理的一、二、三都适用】

3、SSO登陆的demo[通过cookie共享实现的]
SSOAuth:
这里写图片描述
SSOWebDemo1:
这里写图片描述
SSOWebDemo2:
这里写图片描述

SSO单点登录的源码。

四:参考文章:
单点登录原理与简单实现
单点登录

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值