| 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コンポーネントを外して実装してから考えようか(ガックリ…)
なんか実装がどんどん遅れていくなぁ。
フレームワーク使う目的って効率上げることなのになぁ。


サンプルコードが提供されず不便
入門から応用まで対応
