单点登录Redis存储Session及Cookie场景介绍
生活随笔
收集整理的這篇文章主要介紹了
单点登录Redis存储Session及Cookie场景介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先response如果是成功的話,就是登陸成功,我就不往session里面放值了,直接調用RedisPoolUtil,setEx方法,在設置的時候,直接把他的時間加上,key就用session.getId(),用session的id,value就是JsonUtil,就是我們之前封裝的,obj2String,然后把response的data放進來,然后再放一下他的時間,這個時間,直接加到這里面,public interfaceRedisCacheTime,直接設置的時間,int,int一個什么值呢,REDIS_SESSION_EXTIME,等于60*30,也就是30分鐘,因為他的單位是秒,60秒是一分鐘,登陸的時候我們把redis,里面放的session,有效期設置為30分鐘,然后這里面調用一下他
/*** 用戶登錄* @param username* @param password* @param session* @return*/@RequestMapping(value = "login.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<User> login(String username, String password, HttpSession session, HttpServletResponse httpServletResponse){ServerResponse<User> response = iUserService.login(username,password);if(response.isSuccess()){// session.setAttribute(Const.CURRENT_USER,response.getData());CookieUtil.writeLoginToken(httpServletResponse,session.getId());RedisShardedPoolUtil.setEx(session.getId(), JsonUtil.obj2String(response.getData()),Const.RedisCacheExtime.REDIS_SESSION_EXTIME);}return response;}
我們現在要把登陸信息保存到服務端的redis里面,那我們看一下,sessionId是什么,開始部署tomcat,我們要配置兩個tomcat server,第一個是tomcat1,我們再配置一個,因為前面的集群是做了兩個tomcat,把第一個tomcat改一下名字,方便我們來識別,tomcat1和2就OK了,可以看到,這里面用的類也是不一樣的,然后我們先把他部署到tomcat1上,JRE選擇我們配置的,1是8080端口,2是9080,默認給我們tomcat的一個配置,選擇war包,再強調一次,因為我們用的斜杠,我們點擊debug啟動,這邊打一個斷點,可以看到我們這個首頁已經啟動了,我們點開檢查,然后看一下application里面的cookie,我們可以看到這個時候有一個cookie
JSESSIONID,value是F51C,這么一個value,因為我們這個代碼,login.do是需要post請求的,所以我們還要把測試工具打開,我們來模擬請求一下,現在進入到屬性的界面,這里都是一期講的各種接口,下面有一個2.0,這個是我調試時候用的,把它刪除掉,創建一個project,然后在里面創建一個service,然后add a request,我們打開這個open request,開始寫我們的模擬,我們不用https的,請求localhost,login.do,然后add兩個參數,一個是username,另外一個是password,我們這個賬號密碼還要準確的,否則呢,isSuccess就進不來了,賬號密碼都是admin,當然這是我們測試庫的測試密碼,然后我們點擊send
?
總結
以上是生活随笔為你收集整理的单点登录Redis存储Session及Cookie场景介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat集群快速入门:Nginx+T
- 下一篇: 单点登录Redis存储Session及S