CakePHP Auth组件:如何检查是否有人登录?

时间:2011-01-31 14:25:19

标签: cakephp authentication

我正在使用auth组件,我不想在用户登录后可以访问登录页面,只能由匿名用户访问。我可以在登录方法中添加什么来实现此目的?我试过这个:

if (isset($this->Auth->user('id')) {
    $this->redirect('/profile/');
}

但是我收到以下错误:

  

致命错误:无法使用方法返回值

2 个答案:

答案 0 :(得分:10)

Auth组件实际上提供了a method来检查用户是否已登录。

$this->Auth->loggedIn();

还有其他六种方法可以检查,但这个方法最好,因为它抽象了身份验证会话的实现。此外,它更容易阅读。

答案 1 :(得分:3)

if ($this->Session->check('Auth.User')){
    $this->redirect('/profile/');
}