Vue/SpringBoot:為什麼我的 JSESSIONID 會不斷變化
P粉163951336
P粉163951336 2023-08-29 19:12:16
0
1
687
<p>我有一個帶有 Spring Boot 3.0.1 後端的 vue 應用程序,我想使用 CSRF。 Vue 前端和 Spring Boot 後端由不同的系統提供服務。我打算使用 nginx 反向代理來緩解 CORS 主題,但無論是否涉及 nginx,都會出現這個問題。 </p> <p>我的 vue 應用程式做的第一件事是請求 csrf 令牌,將其儲存在全球範圍內,以便在使用者會話期間使用它。 </p> <p>當使用者登入時,會初始化幾個 pinia 儲存體。但不幸的是,在這些請求期間,每個請求發送的 JSESSIONID Cookie 都會被後端忽略,並發出新的 JSESSIONID。在使用應用程式並發出進一步的 GET 請求時,JSESSIONID 不斷變化</p> <p>這使得初始 JSESSIONID 的「全域」儲存的 CSRF 令牌當然無效......</p> <p>「csrf」請求標頭:</p> <p>「登入」標題:</p> <p>然後突然間,第 5 個請求獲得了一個新的 JSESSIONID,儘管我在請求中發送了 JSESSIONID Cookie(由伺服器發送 - 為什麼?</p> <h2>問題</h2> <p>為什麼我的會話不斷改變?我的 JSESSIONID 不應該始終保持不變嗎? </p> <p>進行 CSRF 的目的為何?在發出任何(非 GET?)請求之前請求新令牌? (我的取得使用「憑證:『同源』」)</p>
P粉163951336
P粉163951336

全部回覆(1)
P粉070918777

我的SecurityConfig中有.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS),這導致了麻煩......據我所知,刪除它解決了CSRF的使用。 p>

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板