3
我正在開發一個單頁的Web應用程序。我已經包含一個java過濾器來攔截html頁面請求。因此,在此過濾器中,我使用request.getSession()
創建了一個會話。 然後我明確設置JSESSIONID
cookie,因爲我必須在響應標頭Set-Cookie
中設置HttpOnly
標誌,以防止客戶端通過document.cookie
發生XSS攻擊。爲什麼request.getsession()不返回相同的會話
現在登錄後我需要會話,所以我使用request.getSession()
訪問會話。並根據HttpServletRequest
的Javadoc HttpServletRequest javadoc
request.getSession()返回與此請求相關聯的當前會話,或者如果請求不具有會話,創建一個。
但是我登錄後得到不同的會話。
定義「不同」會話?與您期望的不同的實例或...? – nablex
@ user1109519一個不同的會話ID正在被創建,因此一個不同的'JSESSIONID' cookie被髮送到瀏覽器,而不是前一個。 – tiger
你是否每次都在過濾器中設置'JSESSIONID'?顯示過濾器的一些代碼。 –