FINALLYを有効に解決策が見つかりました:誰もがあなたのbeforeFilterでこれを入れて、この問題が発生した場合のCakePHP 2.1は
を。ケーキ2.3へ
$this->Security->unlockedActions = array('givestar');
と更新のlibs
問題:
私は私のAJAX呼び出しに私をブラックホール化セキュリティコンポーネントに苦しんでいます。
var id = 1;
$.ajax({
type: "post",
url: "/messages/givestar/",
data: {"id" : id},
dataType: "json"
});
私はID = ID
しかし、セキュリティコンポーネントはすべて私のAJAX呼び出しに私をブラックホール化されたメッセージを更新するために、コントローラのIDを送信しようとしています。
セキュリティコンポーネントを使用して動作させる方法は誰でも知っていますか?
ありがとうございます!
あなたは素晴らしいです!
-tom
提案
アップデート2 は、私はいくつかのテストの後にブラックホールからのAUTHエラーが発生します。
From Book:
‘auth’ Indicates a form validation error, or a controller/action mismatch error.
私はACOノードをすべてダブルチェックしています。私は、私のajax呼び出しでSecurityコンポーネントからFORM VALIDATION ERRORに賛成です。
UPDATE:のbeforeFilterで
AppController.php
public $components = array(
'Acl',
'Auth',
'Session',
'Security',
'Cookie'
);
public function beforeFilter() {
$this->Security->blackHoleCallback = 'blackhole';
}
public function blackhole($type) {
$this->Session->setFlash(__('ERROR: %s',$type), 'flash/error');
}
MessagesController.php
public $components = array('RequestHandler');
public function beforeFilter() {
parent::beforeFilter();
}
public function givestar() {
$this->autoRender = false;
if ($this->request->is('ajax')) {
echo 'Working';
}
return;
}
セキュリティコンポーネントが有効になっていますか?あなたは 'id'を暗号化するか、ajax呼び出しでそれを隠すことを意味しますか? – coolguy
http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html – Tom
aahhh私の悪い。私はZendフレームワーク+ Jquery.Thereにはケーキの専門家がたくさんいます。あなたはすぐに必要なものを見つけるでしょう:) – coolguy