单点登录Redis存储Session及SessionId问题说明与集群实战-4
生活随笔
收集整理的這篇文章主要介紹了
单点登录Redis存储Session及SessionId问题说明与集群实战-4
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
現(xiàn)在就是要改造我們getUserInfo,因?yàn)槲覀儾粫?huì)再從session里面獲取用戶,首先我們要哪一個(gè)login_token,這個(gè)時(shí)候拿到loginToken,如果loginToken是empty的話,我們還是返回用戶未登錄,把這個(gè)拿過來,也就是說我獲取用戶信息的時(shí)候,也就是mmall_login_token,我拿不到他,那如果拿到了呢,很簡單,這個(gè)用戶的json字符串,get的key是什么呢,key就是我們loginToken,然后把這個(gè)字符串轉(zhuǎn)成User,因?yàn)橹挥袑?duì)象,沒有集合,然后后面繼續(xù)做這個(gè)判斷,上面就是獲取用戶的信息,Session這個(gè)對(duì)象就用不上了,同樣的我們把刪除cookie寫在logout里邊
@RequestMapping(value = "logout.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> logout(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse){String loginToken = CookieUtil.readLoginToken(httpServletRequest);CookieUtil.delLoginToken(httpServletRequest,httpServletResponse);RedisShardedPoolUtil.del(loginToken);// session.removeAttribute(Const.CURRENT_USER);return ServerResponse.createBySuccess();}
現(xiàn)在我們來寫logout,logout也很簡單,同樣的我們?nèi)プx取一下loginToken,接下來這個(gè)session也不用了,我們用的還是servletRequest,那么這個(gè)時(shí)候我們的loginToken就刪除了,同樣的我們?cè)趓edis里面,logout我們就寫完了
@RequestMapping(value = "logout.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> logout(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse){String loginToken = CookieUtil.readLoginToken(httpServletRequest);CookieUtil.delLoginToken(httpServletRequest,httpServletResponse);RedisShardedPoolUtil.del(loginToken);// session.removeAttribute(Const.CURRENT_USER);return ServerResponse.createBySuccess();}
?
總結(jié)
以上是生活随笔為你收集整理的单点登录Redis存储Session及SessionId问题说明与集群实战-4的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单点登录Redis存储Session及S
- 下一篇: Redis分布式快速入门