【发布时间】:2013-11-12 22:31:32
【问题描述】:
我的控制器有点问题。 我希望用户只能在某些页面内访问,而 andmin 用户只能在更多页面内访问。
我有一个名为 UsersController 的控制器 这是它的 beforeFilter 方法
public function beforeFilter () {
parent::beforeFilter(); // chiamo anche il callback beforeFilter dal parent per ottenere un'autorizzazione per l'utente loggato da tutte le viste $this->Auth->allow('index','view'); per tutti i Model
$views = array ('login','register','activate');
if ($this->Session->read('is_logged')) {
$views = array_merge ($views, array ('login','logout', 'change_password'));
if ($user_type == 'admin') {
$views = array_merge ($views, array ('add','delete','edit','create','index'));
}
}
$this->Auth->allow($views);
}
在此功能中客人可以进入内部登录、注册和激活。
登录的用户可以访问内部登录。注销和更改密码,管理其他页面。
但这不起作用。例如,登录的用户可以访问索引视图或添加视图。
为什么会这样?
这是我在 appController 中的 beforeFilter:
public function beforeFilter () {
$this->setReleaseData();
$this->checkUserStatus();
$this->updateTimezone();
$this->setRedirect();
if($this->Session->read('is_logged')){
$auth_user = $this->Auth->user();
$this->set('user_type', $auth_user['group']);
}
}
如何正确管理进入页面的权限?
谢谢
【问题讨论】: