CakePHP Securityコンポーネントを利用するとPOST時にFormのトークンと照合するようになります。
通常はセキュリティ上望ましい仕様ですが、Web APIに後付けでBASIC認証を追加したところHTTP GETは正常に動作しますが、
HTTP POSTが動かなくなってしまいました。
- POST時のValidateを無効にするには以下のようにSecuriytコンポーネントを設定します。
$this->Security->validatePost = false;
- BASIC認証してPOST時のValidateを無効にするAppControllerの例です。
class AppController extends Controller {
var $components = array('Security', 'RequestHandler');
function beforeFilter() {
parent :: beforeFilter();
$this->Security->loginOptions = array('type' => 'basic');
$this->Security->loginUsers = array('user' => 'password');
$this->Security->requireLogin('*');
$this->Security->validatePost = false;
}
}
