CakePHP SecurityコンポーネントとPOST

PHP

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;
                 }
         }
カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です