CakePHP1.2ガイドブック | |
おすすめ平均 サンプルコードが提供されず不便 入門から応用まで対応 Amazonで詳しく見る by G-Tools |
Security Componentを使っているのだけれど、全くわからず…。
// コントローラー class EnqueteController extends EnqueteAppController{ var $components = array('Security'); function beforeFilter(){ parent::beforeFilter(); // CSRF&リロード対策 $this->Security->requireAuth('post_data'); $this->Security->blackHoleCallback = '_reload_error'; } /** * アンケートの回答を受付 */ function post_data(){ // 受付処理 } function admin_add(){ // 管理者用アンケート追加処理 } function _reload_error(){ // blackHole処理 } }
というふうに作っているのであるが、admin_addで、データをpostすると正常な場合は登録されるのであるが、わざとエラーを起こした場合に、validates()の結果をフォームに反映するのではなく、blackHoleCallbackで設定されている_reload_errorメソッドを実行されてしまう…。
validates()の結果がエラーになるとblackHole行きになるの???
1.2.5 SecurityComponentでハマったときに確認するポイント
を参照して、$form->create()と$form->end()を使っているのだが…。
(ちなみにtableFormヘルパーを作ってるので、$tableFrom->create()とかだけど)
$tableForm->submit(‘送信’);も使ってるけど。
だいたい$this->Security->requireAuth()にメソッド名加えてないんだから、Securityコンポーネントに関係ない処理になるんじゃないの?また、もしブラックホールに吸い込まれるんなら、この場合は正常なときも吸い込まれるんじゃないの?わけわかんないっす・・・。
とりあえず、Securityコンポーネントを外して実装してから考えようか(ガックリ…)
なんか実装がどんどん遅れていくなぁ。
フレームワーク使う目的って効率上げることなのになぁ。