2016-03-07 9 views
5

Webプロジェクトのスプリングセキュリティxmlファイルに<csrf/>タグを使用しています。そして、フォームでCSRFトークンを送信:春のセキュリティのリクエストごとに異なるcsrfトークン

<form action="" method="post"> 
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> 
</form> 

しかし、セッションが続くまでBurpSuiteを通じて要求をインターセプトに私はすべてのリクエストで同じCSRFトークンを取得しています。

春のセキュリティでセッションごとに要求ごとに異なるcsrfトークンを送信する方法はありますか。

私は3.2.4スプリングセキュリティジャーを使用しています。

答えて

4

CSRFトークンのデフォルトの持続時間は、セッションの持続時間です。 CSRFトークンはHTTPセッションに格納されるため、セッションごとに生成されます。詳細についてはSpring Security documentation on CSRFを確認してください。

スプリングセキュリティは、個々のニーズに合わせて拡張することができますので、目的に合わせて拡張することができます。

しかし、この拡張機能に影響を与えるユーザビリティ:一方または両方のタブでセッション中断の原因になります2つ目のタブで

  1. オープニングウェブアプリ。
  2. 提出されたフォームの「戻る」ボタンは、いくつかの奇妙なエラーを引き起こす可能性があります。私のアプリケーションで
+0

ウェブアプリに着陸した後、私は2つのタブと、最初のタブのデータを持っているがデフォルトで表示されます。私はを使用しているので、このページにはcsrfトークンがあります。もし私がデータを取得し、再びGET呼び出しているtab1に戻ってくるGET呼び出しであるtab2に行く。最初のタブで、バックエンドへのポストコールを行うボタンをクリックします。ここでは、ポストコールは失敗し、メッセージ付きで403 Forbiddenになっている「トークンが見つからない期待CSRFを。あなたのセッションの有効期限が切れました」。すべてのヘルプはここ – Kiran

+0

@Kiranは、おそらくコメントではなく、新しい質問を作成する必要があります。いくつかの作業コードを例として含めることで、人々が問題のデバッグを手伝うことができます。 –