我正在尝试为我的网络项目实施基于ACL的授权。 我有一个登录方法:
function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
debug($this->Auth->user());
//return $this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
}
}
}
我打印登录的用户信息,而不是重定向。这很好用。
但是,如果我在debug($this->Auth->user())
AppController
function beforeFilter() {
parent::beforeFilter();
debug($this->Auth->user());
$user = $this->Auth->user();
if ($user) {
$this->set('isAuthed', true);
$this->_userId = (int) $user['User']['id'];
} else {
$this->set('isAuthed', false);
}
}
我一无所获。可能是什么问题?
答案 0 :(得分:0)
beforeFilter()
在正常操作方法之前执行,因此$this->Auth->login()
尚未运行。也许尝试在afterFilter()
调试。