HOME>WEBプログラム覚書>[CakePHP2.1.X] Authコンポーネントのallowとdeny
[CakePHP2.1.X] Authコンポーネントのallowとdeny
allowとdenyで全てのURLを対象とする場合、1系では*を引数にしてましたが2.1.Xでは引数は不要になったみたいです。
基本全てのリクエストを認証不要にして、特定のアクションだけ認証かけたい場合に
allow('*')とするとうまく動かないみたいです。
CakePHP 1.Xの場合
1系の場合、多分こんな感じで動いてたはず?
AppController
<?php
class AppController extends Controller {
function beforeFilter()
{
$this->Auth->allow('*');
}
}
?>
PostsController
<?php
class PostsController extends Controller {
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->deny('save');
}
}
?>
CakePHP 2.1.Xの場合
allow()もdeny()も
全てのリクエストを対象とする場合、引数は不要となりました。
AppController
<?php
class AppController extends Controller {
public function beforeFilter()
{
$this->Auth->allow();
}
}
?>
PostsController
<?php
class PostsController extends Controller {
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->deny('save');
}
}
?>
全てのURLで認証を不要とするだけなら2.1.Xでも
AppController
<?php
class AppController extends Controller {
public function beforeFilter()
{
$this->Auth->allow('*');
}
}
?>
で機能するっぽいんですが、deny($action)が機能してくれません。
なまじ動くだけにはまりました。
投稿日 |
2012年7月 4日 11:15 |
カテゴリ |
PHP |
タグ |
CakePHP |
トラックバック URL |
http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1307 |
コメント