老师,您好,请教一个问题
来源:5-8 Redis数据结构:String字符串
慕神8359304
2019-01-25
单点登录,我理解的逻辑是这样的,首先新建一个cookie名字是mmall_login_token,该cookie的value是seeionId,然后在redis中set(sessionId,相关信息);用户发送一个请求过来,通过mmall_login_token读取相关sessionId,进而找到相关session,有两个问题:第一,浏览器中显示两个cookie,一个是jsessionId,一个是mmall_login_token,按上述逻辑,我是觉得这两个cookie的value值应该相同,为什么视频里的不一样啊?
第二,我第一次请求了login.do,然后不断刷新,不断刷新,意味着login.do的代码需要重新运行,我可不可以这样理解,不断刷新,每次的sessionid都不相同,那么名为mmall_login_token的value值不就每次都不一样吗,为什么redis只存了一个sessionid
写回答
1回答
-
geelylucky
2019-01-25
亲爱的同学,你好,我是geely老师的助教。
1.jsessionId是servlet生成的,自定义的mmall_login_token生成逻辑不是servlet生成的,它们并不需要一致。
2.客户端请求服务器,如果客户端没有携带sessionId,那么服务器就生成一个sessionId给客户端,如果客户端请求的时候携带了sessionId,那么服务器就不会生成sessionId。所以不管你刷新多少次,只有第一次请求的时候会生成一个sessionId,此后就一直是这个sessionId。
022019-01-26
相似问题