目录
2-3 多域名的 Cookie 跨域问题(暂时未测出跨域,暂留)
一、单点登录概念
Single Sign On(简称SSO),基于分布式系统的概念,在多个系统中共用一个登录判断。即,用户在A系统内登陆,操作B系统时,默认用户已经登陆。
二、分布式系统 SSO 实现总结
2-0 单机部署的登陆状态保存
- 用户登录时,验证用户的账户和密码
- 生成一个Token保存在数据库中,将Token写到Cookie中
- 将用户数据保存在Session中
- 请求时都会带上Cookie,检查有没有登录,如果已经登录则放行
2-1 分布式部署的登陆状态保存
在分布式中,仍然延续使用Token来判断登陆状态的key,但是Session却存在着多系统数据无法共享的问题在。
Session 数据共享解决思路:
- 在 Django 内的 Session 默认保存在对应的 django-session 表内,可以对对应的数据库进行集群部署,集群内的表完全同步。【会影响集群的性能呢,不建议】