今天在做一個權限登錄的時候,發現有一個很類似,但是還是很區別的。今天好好的學習一下。
首先看一下這個介紹session的文章,複習一下。
JavaWeb學習總結(十二)——Session
request.getSession().getId()
服務端創建,一個瀏覽器獨佔一個session對象(默認情況下),
HttpServletRequest中有:
-
HttpSession getSession(boolean var1);參數爲false則爲不自動創建對象,參數爲true則爲自動創建對象。然後獲取得到這個對象
-
HttpSession getSession();
比如在多實例部署的時候,用戶第一次登錄的時候,我們可以將request.getSession().getId()作爲key,然後將用戶的信息作爲value,存儲到redis中,以方便下次請求需要權限驗證的接口的時候的驗證。
stringRedisTemplate.opsForValue().set(request.getSession().getId(), gson.toJson(authUser),30, TimeUnit.MINUTES);
request.getRequestedSessionId()
是客戶端的,也就是瀏覽器裏面的。比如在用戶第一次登錄的時候,這裏是null,當用戶登錄了之後,服務端的request.getSession().getId()就會同步到這裏。這裏就會有了。該值和服務端的request.getSession().getId()是保持一致的。