SSO(single sign on)模式 --单点登录三种登录方式
Posted 小吴吃肉啦~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSO(single sign on)模式 --单点登录三种登录方式相关的知识,希望对你有一定的参考价值。
SSO(single sign on)模式 --单点登录
单点登录 : 分布式项目中 不再使用session 来保存用户登录数据
缺点:单点性能压力,无法扩展
1.2. SSO(single sign on)模式
分布式,SSO(single sign on)模式
优点 :
用户身份信息独立管理,更好的分布式管理。
可以自己扩展安全策略
单点登录三种常见方式:
第一种: session广播机制
: session的复制 (在每个模块都是复制当前的session的值) **缺点:**模块多的话 资源浪费
第二种: 使用cookie + redis 实现
: cookie 是客户端技术 (存储在浏览器中) , redis 基于 k-v实现
做法:
-
在项目中任何一个模块进行登录,登录以后,把数据放到俩个地方
(1) redis: 在key存储: 生产唯一随机值(ip 用户id等等) ,在value 存储: 用户数据
(2) cookie: 把redis里面生产key值放到cookie里面
-
访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情:
(1) 把cookie获取值,到redis进行查询,根据key进行查询,如果查询数据就是登录
第三种: 使用token实现
什么是 token? : *按照一定规则生产字符串,字符串可以包含用户信息
做法:
1.在项目某个模块进行登录,登录之后,按照规则生产字符串,把登陆之后用户包含到生产字符串里面,把字符串返回
(1) 可以把字符串通过cookie返回
(2) 把字符串通过地址栏返回
**2. 再去访问其他模块,每次访问在地址栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.==如果可以获取到.就是登陆==**
栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.如果可以获取到.就是登陆**
以上是关于SSO(single sign on)模式 --单点登录三种登录方式的主要内容,如果未能解决你的问题,请参考以下文章
SSO(single sign on)模式 --单点登录三种登录方式
CAS Server实现单点登录(Single Sign On , 简称 SSO )
java:sso(单点登录(single sign on),jsp文件动静态导入方式,session跨域)