单点登录相关知识点

基于微服务多模块的架构,各个模块可能会部署在不同的服务器上,那么他们的session值会不尽相同,因此有如下几种方式解决登录问题。

1、单点登录常见的方式

1.1、session广播机制实现

        session的复制

1.2、使用cookie+redis实现

在项目中任何一个模块进行登录,登录之后,将数据存放至两个地方。
	 1. redis:在key:(使用一些规则生成随机值【ip、用户id等】,value:存放用户数据
	 2. cookie:把redis里生成的key值放在cookie中
	 3. 访问其他模块时,发送请求会带着cookie值
 	 	 (1)、把cookie值获取,到redis中进行查询,根据key进行查询,如果查询到数据就登录。

1.3、使用Token实现

token就是按照一定的规则【规则自定义】生成的字符串,字符串可以包含用户信息
	1、在项目中的某个模块进行登录之后,按照规则生成字符串,把登录之后的用户信息放入,返回字符串。
	    (1)、可以把字符串通过cookie返回
	    (2)、把字符串通过地址栏返回
	2、再去访问其他模块时,每次访问都在地址栏带着生成的字符串,在分模块里获取字符串,再根据字符串
	获取用户信息。如果可以获取到,就是登录   

猜你喜欢

转载自blog.csdn.net/qq_40738693/article/details/115346963