目录
适用于分布式架构,三种方式实现单点登录
- session广播机制
- cookie+redis
- token
1. session广播机制
就是session复制,登录之后保存session信息,将session复制到其他服务。
早期实现,适用于服务少,复制多浪费资源。
2. cookie+redis
在项目中任何一个地方进行登录,登录之后,将数据保存到两个地方。
- redis:key:生成唯一,随机值(uuid,用户id等) ,在value中:用户数据
- cookie:存放redis中生成的key
在项目中访问其他模块,带着cookie发送请求,然后服务端可以获取到cookie值。在redis中进行查询,根据key查询后有数据就进行登录。
3. Token
Token:按照一定规则生成的字符串,里面包含用户信息。
在某个模块登录之后,按规定生成字符串,包含用户信息,并进行返回,可以cookie,也可以地址栏返回。
再去访问其他模块时,带着token访问,然后根据token获取用户信息并验证。