[Seasar-user:21439] [SAStruts]トランザクショントークンについての質問

riot-going-on [E-MAIL ADDRESS DELETED]
2012年 8月 31日 (金) 15:58:38 JST


こんにちは。

トランザクショントークンについて質問です。

現在、SAStrutsにて複数の登録フォームが同時に運用されるアプリケーションを開発しております。
ActionFormのスコープをセッションにして、パラメータを受け渡しております。

その際にセッションフィクセーション対策、二重送信対策として、TokenProcessorのトランザクショントークンを使用して対策としております。
この場合、Sessionのキーが

"org.apache.struts.action.TOKEN"

となると思いますが、先述の通り複数のフォームが同時に走るため、同一ブラウザで複数のフォームを立ち上げて並行して登録を進めた場合に、
トークンのSession値が上書きされてしまい、片方がエラー扱いになってしまいます。

これについて、それぞれのActionから別のキーを指定してSessionに保存してトークンチェックを行う方法は無いでしょうか。

ユニークなキーの指定が不可能な場合、代替として考えられる機能はあるでしょうか。

いずれも無理な場合は、登録フォームごとに独自のワンタイムトークンの処理を実装する他ないのでしょうか。

お分かりでしたら、お教えいただけると助かります。

よろしくお願いいたします。


Seasar-user メーリングリストの案内