私は、StrutsからSpringへの移行に移行しています。私は最新の春バージョン4.3に取り組んでいるので、私たちはアプリケーションのためにCSRF保護を行うことに決めました。 JSPページでは、springコントローラを呼び出すためのhttp getメソッドでクリック可能な2つのタブがあります。各タブには複数のリンクとボタンがあります。 getコールの後に私がページ上の任意のアクションを実行する場合、たとえば、コントローラへのポストコールを行うボタンをクリックします。 403のメッセージが表示されなくなりました。「予想されるCSRFトークンが見つかりませんでした。あなたのセッションは期限切れですか? 。Spring CSRF HTTP 403禁止エラー
Firefox開発者ツールでは、呼び出しフォームデータを送信していますが、トークンが渡されて_csrfが表示されました。レスポンスヘッダーにx-frame-opitons:Denyと表示されます。私は問題を引き起こしているタブを選択している前のHTTP GETの呼び出しを疑っています。 http GETメソッドにもcsrfトークンを渡す必要がありますか?どんな助け?
あなたが尋ねていることがあまり明確ではないので、いくつかのコードを共有する必要があるかもしれません。まず、いいえ、あなたは確かにGETリクエストでCSRFトークンを送る必要はありませんが、GETリクエストがコントローラによって処理されると、新しいCSRFトークンが生成されます。これはSpring Securityが受け取る予定のものです次のPOST。 GETの後に表示されるページで、引き続きCSRFトークンが表示されますか?更新されていますか? GETの前後で、ブラウザのCSRFトークンに異なる値が表示されるはずです。 – DaveyDaveDave
GET呼び出しの後に同じcsrfトークンを取得しています。実際に私は応答から読むための新しいコードを書いていません。私が使用しているのは、spring mvcタグまたはです。春のドキュメントhttps://stackoverflow.com/questions/26866529/spring-csrf-token-lifeデフォルトでは、csrfトークンライフタイムはセッションベースです。私はここにいくつかのコードを追加しようとします。 –
Kiran