ホームページ  >  に質問  >  本文

Vue/SpringBoot: JSESSIONID が変化し続けるのはなぜですか

<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粉163951336P粉163951336387日前533

全員に返信(1)返信します

  • P粉070918777

    P粉0709187772023-08-30 18:21:12

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

    返事
    0
  • キャンセル返事