分布式 - CAS 架构实现 SSO 单点登陆

目录

一、单点登录概念

二、分布式系统 SSO 实现总结

2-0 单机部署的登陆状态保存

2-1 分布式部署的登陆状态保存

2-2 分布式SSO实现

2-3 多域名的 Cookie 跨域问题(暂时未测出跨域,暂留)

2-3-0 跨域测试

三、基于分布式的SSO实现

3-1 使用中间件实现登陆功能验证

3-2 使用中控机实现sso(推荐)


一、单点登录概念

掘金 - 参考学习 - 基于Java 实现 SSO

Single Sign On(简称SSO),基于分布式系统的概念,在多个系统中共用一个登录判断。即,用户在A系统内登陆,操作B系统时,默认用户已经登陆。

二、分布式系统 SSO 实现总结

2-0 单机部署的登陆状态保存

  • 用户登录时,验证用户的账户和密码
  • 生成一个Token保存在数据库中,将Token写到Cookie中
  • 将用户数据保存在Session中
  • 请求时都会带上Cookie,检查有没有登录,如果已经登录则放行

2-1 分布式部署的登陆状态保存

在分布式中,仍然延续使用Token来判断登陆状态的key,但是Session却存在着多系统数据无法共享的问题在。

Django - cookie 、session

Flask - Session

Session 数据共享解决思路

  • 在 Django 内的 Session 默认保存在对应的 django-session 表内,可以对对应的数据库进行集群部署,集群内的表完全同步。【会影响集群的性能呢,不建议
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值