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; } }