单点登录实现原理笔记

 

一.单系统登录机制
1.http 为无状态请求 每次请求之间没有关联
2.要鉴别浏览器请求,需服务器和浏览器共同维护一个状态,即会话机制
2-1.浏览器第一次请求,服务器创建一个会话id,返回浏览器存储,以后每次请求都带上会话id
2-2.浏览器保存会话id方式:1-cookie 存储少量key/value数据,发送http请求时自动附带
2-3.tomcat中的cookie,名为JSESSIONID
3.登录状态,tomcat服务器通过session setAttribute 设置 getAttribute 查看登录状态

二.多系统的复杂性
1.当由单系统变为多系统的时候,用户也应只登录一次就可访问多个系统
2.cookie的限制在于域,通常对应网站的域名,不同系统网站有不同的域
3.使用一个顶级域名不可避免不同语音实现的后台系统之间的登录问题

三.单点登录 Single Sign On (SSO)
1.sso需要单独的认证中心提供登录认证,其他系统不提供
2.间接授权通过令牌实现
3.单个系统登录状态判断依然使用cookie、session
3-1.验证用户未登录,携带自身地址跳转sso认证中心
3-2.sso认证中心通过session判断用户未登录,跳转至登录界面
3-3.验证用户名和密码,成功后session设置为登录状态
3-4.创建授权令牌,他是随机字符串,不重复不易伪造即可,可用uuid生成
3-5.携带令牌跳转回子系统
3-6.子系统通过令牌去验证,验证成功将令牌与地址存入数据库(redis)中,之后注销时使用
3-7.用户注销,跳转至sso系统注销,sso要有一个全局会话监听器,向所有子系统发送注销请求
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值