bak*_*ker 7 authentication cakephp
我正在使用CakePHP的Auth组件,它在我的app_controller.php.
现在我想允许来自页面控制器的特定视图.我怎么做?
Tra*_*leu 13
将cake/libs/controllers中的pages_controller.php文件复制到app/controllers/dir.然后你可以修改它来做你想做的任何事情.使用auth组件,允许特定访问的典型方法如下:
class PagesController extends AppController {
...
function beforeFilter() {
$this->Auth->allow( 'action1', 'allowedAction2' );
}
...
Run Code Online (Sandbox Code Playgroud)
我建议将文件高度复制到控制器目录,而不是在适当的位置进行编辑,因为这样可以使蛋糕升级更容易,并且不太可能意外覆盖某些内容.
Law*_*nti 11
您可以将以下内容添加到app_controller中.
function beforeFilter() {
if ($this->params['controller'] == 'pages') {
$this->Auth->allow('*'); // or ('page1', 'page2', ..., 'pageN')
}
}
Run Code Online (Sandbox Code Playgroud)
然后你不必复制页面控制器.
我还没有尝试过其他方法,但这也是允许访问所有静态页面的正确方法,因为显示是常见操作.在app_controller中:
//for all actions
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display'));
//for particular actions
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display', 'home'));
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display', 'aboutus'));
Run Code Online (Sandbox Code Playgroud)