下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
System
>
TERASOLUNA Framework
>
討論區
>
公開討論
>
ajax、validationによる謎のトークンエラーについて
TERASOLUNA Framework
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
Subversion
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
文檔
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
溝通
討論區
討論區列表
公開討論 (1277)
通信論壇
通信論壇列表
terasoluna-information
新聞
討論區:
公開討論
(Thread #36278)
Return to Thread list
RSS
ajax、validationによる謎のトークンエラーについて (2014-12-10 15:32 by
anonymous
#75013)
回覆
Create ticket
いつもお世話になっております。
トークンチェックに悩まされており、ご質問をさせてください
ある親画面からJQueryを使ったモーダルの子画面を生成し、子画面での情報を親画面に引き込むような処理を実装しています。
子画面ではajaxによる非同期処理でvalidationを使った入力チェックを実装しているのですが、以下の流れで想定外のトークンチェックエラーが発生をしてしまいます。
①親画面から子画面(モーダル)を生成
↓
②子画面でvalidationエラーを発生させる
↓
③子画面でvalidationエラーとならない処理を行う
↓
④子画面を閉じる
↓
⑤親画面でトークンチェックを行っているアクションを実行
↓
⑥トークンエラー
子画面での処理は全てsaveTokenはfalseにしてサーバのトークンが変わらないようにしてあるので、親画面でのトークンでトークンエラーとなる理由がわかりません、、
なお、②の処理を行わない、または③の処理を行わない
であれば発生をせず②③両方の処理を行った際のみ発生をします
原因及び対応方法についてご教示頂きたく
回覆 #75013
×
主題
內容
Reply To Message #75013 > いつもお世話になっております。 > > トークンチェックに悩まされており、ご質問をさせてください > > ある親画面からJQueryを使ったモーダルの子画面を生成し、子画面での情報を親画面に引き込むような処理を実装しています。 > > 子画面ではajaxによる非同期処理でvalidationを使った入力チェックを実装しているのですが、以下の流れで想定外のトークンチェックエラーが発生をしてしまいます。 > > ①親画面から子画面(モーダル)を生成 > ↓ > ②子画面でvalidationエラーを発生させる > ↓ > ③子画面でvalidationエラーとならない処理を行う > ↓ > ④子画面を閉じる > ↓ > ⑤親画面でトークンチェックを行っているアクションを実行 > ↓ > ⑥トークンエラー > > 子画面での処理は全てsaveTokenはfalseにしてサーバのトークンが変わらないようにしてあるので、親画面でのトークンでトークンエラーとなる理由がわかりません、、 > > なお、②の処理を行わない、または③の処理を行わない > であれば発生をせず②③両方の処理を行った際のみ発生をします > > 原因及び対応方法についてご教示頂きたく
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: ajax、validationによる謎のトークンエラーについて (2014-12-12 17:19 by
futamuraa
#75029)
回覆
Create ticket
恐れ入りますが、ご利用中のFWの種類、及び、バージョンを教えて頂けないでしょうか?
回覆:
#75013
回覆 #75029
×
主題
內容
Reply To Message #75029 > 恐れ入りますが、ご利用中のFWの種類、及び、バージョンを教えて頂けないでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: ajax、validationによる謎のトークンエラーについて (2014-12-12 19:21 by
anonymous
#75030)
回覆
Create ticket
大変失礼いたしました。
TERASOLUNA Server Framework for Java WEB 2.0.5.0
を利用しております。
回覆:
#75029
回覆 #75030
×
主題
內容
Reply To Message #75030 > 大変失礼いたしました。 > TERASOLUNA Server Framework for Java WEB 2.0.5.0 > を利用しております。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: ajax、validationによる謎のトークンエラーについて (2014-12-19 11:29 by
futamuraa
#75070)
回覆
Create ticket
承知いたしました。
五月雨の質問となり、大変恐縮ですが、
「WE-01 アクション拡張機能」のトランザクショントークンチェックを使用されていますか?
回覆:
#75030
回覆 #75070
×
主題
內容
Reply To Message #75070 > 承知いたしました。 > 五月雨の質問となり、大変恐縮ですが、 > 「WE-01 アクション拡張機能」のトランザクショントークンチェックを使用されていますか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: ajax、validationによる謎のトークンエラーについて (2014-12-23 15:49 by
anonymous
#75083)
回覆
Create ticket
はい。使用しています。
Terasoluna IDE3を使って開発を行っています。
回覆:
#75070
回覆 #75083
×
主題
內容
Reply To Message #75083 > はい。使用しています。 > Terasoluna IDE3を使って開発を行っています。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: ajax、validationによる謎のトークンエラーについて (2014-12-24 17:29 by
futamuraa
#75092)
回覆
Create ticket
> ⑤親画面でトークンチェックを行っているアクションを実行
こちらでアクションを実行する際のリクエストで、
クライアント側からトランザクショントークンが送信されているでしょうか。
クライアント側からトークンが送信されていない場合、
サーバ側のセッションで保持されているトークンと不一致となり、
「トークンエラー」となっている可能性があります。
より具体的には、
親画面でのトークンチェックを行っているアクションを起動するリクエストパラメータが
リクエストパラメータ名:org.apache.struts.taglib.html.TOKEN
リクエストパラメータ値:<トークン値>
という形式でサーバ側に渡されている必要があります。
この形式でリクエストパラメータがサーバ側に送信されているにもかかわらず
トークンエラーとなる場合ですが、
上記<トークン値>はサーバ側によるsaveToken()が
行われた際に値が入れ替わるため、直近のsaveToken()で払い出された値をクライアント側で送信する必要があります。
特にAjaxによる画面遷移とは非同期のリクエスト送信を行っている場合、
親子画面の構成を問わず、
サーバ側のセッションで保持されているトークンが途中で差し替わっていないこと、
またセッションを破棄される操作が行われていないか(ログアウト処理やセッションタイムアウトが該当します)
をご確認ください。
(現在の)サーバ側のトークン値は HttpSessionに対し、
HttpSession#getAttribute("org.apache.struts.action.TOKEN") を実行することで採取することができます。
回覆:
#75083
回覆 #75092
×
主題
內容
Reply To Message #75092 > > ⑤親画面でトークンチェックを行っているアクションを実行 > > こちらでアクションを実行する際のリクエストで、 > クライアント側からトランザクショントークンが送信されているでしょうか。 > > クライアント側からトークンが送信されていない場合、 > サーバ側のセッションで保持されているトークンと不一致となり、 > 「トークンエラー」となっている可能性があります。 > > より具体的には、 > 親画面でのトークンチェックを行っているアクションを起動するリクエストパラメータが > > リクエストパラメータ名:org.apache.struts.taglib.html.TOKEN > リクエストパラメータ値:<トークン値> > > という形式でサーバ側に渡されている必要があります。 > > この形式でリクエストパラメータがサーバ側に送信されているにもかかわらず > トークンエラーとなる場合ですが、 > 上記<トークン値>はサーバ側によるsaveToken()が > 行われた際に値が入れ替わるため、直近のsaveToken()で払い出された値をクライアント側で送信する必要があります。 > > 特にAjaxによる画面遷移とは非同期のリクエスト送信を行っている場合、 > 親子画面の構成を問わず、 > サーバ側のセッションで保持されているトークンが途中で差し替わっていないこと、 > またセッションを破棄される操作が行われていないか(ログアウト処理やセッションタイムアウトが該当します) > をご確認ください。 > > (現在の)サーバ側のトークン値は HttpSessionに対し、 > HttpSession#getAttribute("org.apache.struts.action.TOKEN") を実行することで採取することができます。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消