Vue/SpringBoot: JSESSIONID が変化し続けるのはなぜですか
P粉163951336
P粉163951336 2023-08-29 19:12:16
0
1
688
<p>Spring Boot 3.0.1 バックエンドを備えた vue アプリケーションがあり、CSRF を使用したいと考えています。 Vue フロントエンドと Spring Boot バックエンドは、異なるシステムによって提供されます。 CORS トピックを軽減するために nginx リバース プロキシを使用する予定ですが、この問題は nginx が関係しているかどうかに関係なく発生します。 </p> <p>私の vue アプリケーションが最初に行うことは、csrf トークンをリクエストし、ユーザー セッション中に使用できるようにグローバルに保存することです。 </p> <p>ユーザーがログインすると、いくつかの pinia ストアが初期化されます。しかし、残念ながら、これらのリクエスト中に、各リクエストで送信された JSESSIONID Cookie がバックエンドによって無視され、新しい JSESSIONID が発行されます。 JSESSIONID は、アプリケーションの使用中およびさらなる GET リクエストの実行中に変化し続けます</p> <p>これにより、初期 JSESSIONID の「グローバル」に保存された CSRF トークンが無効になります...</p> <p>「csrf」リクエストヘッダー: </p> <p>「ログイン」タイトル: </p> <p>その後、リクエストで JSESSIONID Cookie を送信したにもかかわらず (サーバーによって送信された - なぜですか?</p>)、5 番目のリクエストで突然新しい JSESSIONID が取得されました。 <h2>質問</h2> <p>セッションが変化し続けるのはなぜですか? JSESSIONID は常に同じにすべきではないでしょうか? </p> <p>CSRF を実施する目的は何ですか? (GET 以外の) リクエストを行う前に、新しいトークンをリクエストしますか? (私の場合は「認証情報: "同じオリジン"」を使用しています)</p>
P粉163951336
P粉163951336

全員に返信(1)
P粉070918777

SecurityConfig に .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) があり、問題が発生しています... 私の知る限り、これを削除すると CSRF の使用問題が解決します。 p>

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート