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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zj20142213/article/details/80808309

最近看到公司的需求里面有单点登录,就去了解了一下。下面将从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单点登录的源码。

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

猜你喜欢

转载自blog.csdn.net/zj20142213/article/details/80808309