| Issue 111: | t2-employeeにおいてアクセスで無限ループする場合がある | |
| 2 people starred this issue and may be notified of changes. | Back to list |
t2-employeeにおいて、URLの最後に "/" をつけてアクセスすると無限ループが発生。 以下でアクセスすると再現します。 http://localhost:8080/t2-employee/login/
Sep 3, 2008
Project Member
#1
yone...@gmail.com
Labels:
-Priority-Medium Priority-High Milestone-T2-0.4
Sep 3, 2008
以下のような議論が必要っぽいです。
@Pageのパスの扱いについて
1./addと/add/を別物として扱うかどうか
2.ユーザが返すパスを相対パスを許可するかどうか
1と2を組み合わせると無限ループが起きる可能性がある.
例えば、/add/というURLにアクセスして、jsp/add.jspというJSPに
リダイレクトさせたとしよう.
その場合
・初期リクエストでjsp/add.jspにリダイレクト
・再度T2Filterに飛んできて、localhost:8080/add/から組み立てるのでPageクラスの
@Page("add")と
マッチングしてしまって、localhost:8080/add/jsp/add.jspに更にリダイレクト
・これを繰り返し無限ループ
このような症状になる.
解決案として
・ユーザが指定するパスは全て絶対パスとみなす
・@Page("add")と@Page("add/")を別物とみなす
暫定対処として、
・ユーザが返すパスは絶対パスを推奨する。
Sep 4, 2008
以下のように仕様が確定した. 1.ユーザが返すパスは全て絶対パスに変換される(先頭に/を補完). 2.Redirectは、同一コンテキスト内、別URL、別コンテキストへ飛べるようにメソッドを分ける. どちらも0.4で実装する.
Sep 9, 2008
rev1774で修正しました。
Status:
Fixed
|