[TEEDA-393] doOnce~() で二重サブミットされた場合,遷移前の画面に戻って新しいトランザクショントークンが発行されるため,結果的に二重登録が可能となる問題を修正しました. Created: 2007-10-02  Updated: 2007-10-10  Resolved: 2007-10-10

Status: Resolved
Project: Teeda
Component/s: Teeda Extension
Affects Version/s: 1.0.11
Fix Version/s: 1.0.11-SP1

Type: Bug Priority: Major
Reporter: koichik Assignee: koichik
Resolution: Fixed Votes: 0
Labels: None


 Description   

[Seasar-user:10827]
doOnce~() で二重サブミットされた場合,遷移前の画面に戻って新しいトランザクショントークンが発行されるため,結果的に二重登録が可能となる.

■手順
1.入力画面でデータを入力し「確認ボタン」を押す
2.確認画面で「登録ボタン」を押す
3.完了画面でブラウザの「戻るボタン」で確認画面へ戻る
4.確認画面で「登録ボタン」を押す
  Tokenのベリファイに失敗して確認画面が表示される(正常動作)
5.もう一度確認画面で「登録ボタン」を押すと
  データが登録され完了画面へ遷移してしまう。



 Comments   
Comment by koichik [ 2007-10-10 ]

[Seasar-user:10932] で確認が取れたので fix.

Comment by koichik [ 2007-10-05 ]

対応しました.

http://svn.seasar.org/browse/?view=rev&root=teeda&revision=3702
http://svn.seasar.org/browse/?view=rev&root=teeda&revision=3703
http://svn.seasar.org/browse/?view=rev&root=teeda&revision=3704
http://svn.seasar.org/browse/?view=rev&root=teeda&revision=3706

リダイレクトする画面で二重サブミットされた際は,元の仕様通り,リダイレクト先を表示するように戻しました.
リダイレクトしないで自画面を表示する画面で二重サブミットされた場合は DoubleSubmittedException をスローするようにしました.

[Seasar-user:10865] で報告者に SNAPSHOT での確認を依頼中なので,返答があるまでオープンのままにしておきます.

Comment by koichik [ 2007-10-02 ]

[Seasar-user:10834]
本来 Teeda では,二重サブミットされた際は呼び出し元の画面ではなく,画面遷移後 (リダイレクト先) の画面を表示する仕様だったが,TEEDA-381 の修正 (?) で動きが変わってしまい,呼び出し元の画面に戻るようになってしまった模様.

Generated at Thu Apr 25 06:31:46 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.