第一种:session广播机制(session复制)
当用户在服务1 中登录之后,会把登录信息放在session中,然后复制session对象分发给其他服务。
**缺点:**如果服务过多,session需要复制很多次,会造成资源的损耗
第二种:使用cookie+redis实现
一、在项目中任何一个模块登录,登陆之后会把数据放到两个地方
1.redis:使用key-value进行存储,key:生成唯一值(id,UUID等),将用户数据作为value存进去
2.cookie:把redis里面生成的值放到cookie里面
二、在项目中访问其他模块时,发送请求会带着cookie一起发送,然后获取到cookie中的key,去redis寻找对应的value,如果找到了就是登录,没找到就是未登录。
第三种:使用Token实现
Token:按照一定规则生成的字符串,字符串可以包含用户信息
一.在项目中的某个模块登录之后,会根据规则生成对应的字符串,把登陆之后的用户包含在字符串里面,把字符串返回
1.通过cookie进行返回
2.把字符串放在url里面返回
二、再去访问其他模块,每次访问在地址栏都带上字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息,如果可以获取到就是已登录,获取不到就是未登录。
版权声明:本文为qq_43582366原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。