采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
按照老师的说法对Spring Session进行配置,测试的时候发现无法获取用户信息,检查发现key不对,老师给的视频中Cookie的Name是SESSION,但是我的是JSESSIONID,并且往Redis中存key/value的时候,对应的用来做标识的key不是和老师一样用的Cookie的Value,而是另外一个值,具体如下图:
web.xml配置
applicationContext-spring-session:
cookie:
redis:
实在是不明白这是为啥,求解答,谢谢!
你好,亲爱的同学,这个是会变的,没有关系哈,千万不要纠结在这块。没有问题的。
因为每个jvm 会根据时间来生成jsessionId,另外这个替换成UUID也是可以的,只要保证redis和cookie上是一致的。
可是这样由于集群中用户信息的key不是用的cookie中的这个value,导致获取用户信息的时候查询到的User一直为空呀。。 这才是主要问题,我代码和老师的一样,但是就是无法获取到用户信息。。
你好,同学,集群用户信息的key,是这样的流程,我们在后端生成任意一个uuid,然后把它存在用户浏览器的cookie上,下次用户请求的时候我们拿到这个cookie,里面的uuid和cache里的uuid做对比,如果存在用户的登陆信息,就认为是登陆状态。
你的截图里面显示并没有把response里面的cookie种到浏览器上,看看cookieutil那个里面 writecookie的方法。
spring-session是会将原sessionid进行转换成新的字符串的哈,可能是为了防止别人知道真实的sessionid,可以看源码debug哟同学
老哥,主要我现在登录成功后,无法获取用户信息。。
登录后可查看更多问答,登录/注册
Tomcat集群+Redis分布式+代码重构+源码原理解析
1.6k 17
2.6k 12
1.7k 12
1.6k 11
1.9k 10