如果您尝试访问CakePHP 2.0中的注销链接已注销,它会请求身份验证?而不只是意识到你已经注销,然后像往常一样将你发送到重定向注销页面。
所以例如:
public function logout()
{
$this->redirect($this->Auth->logout());
}
这是允许的:
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('add','login','logout');
}
这意味着如果未登录的用户进入注销页面,它会要求他们登录,然后他们会自动注销,因为他们已经请求注销页面并对其进行了身份验证。
这在1.3中没有发生。有什么想法吗?
由于
答案 0 :(得分:2)
解决了问题!问题是它实际上是将我发送到请求身份验证的另一个页面,因此登录请求。不知道为什么它会让我登录注销方法呢?所以我做了以下事情:
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('add','login','logout');
}
public function logout()
{
if($this->Auth->user())
{
$this->redirect($this->Auth->logout());
}
else
{
$this->redirect(array('controller'=>'pages','action' => 'display','home'));
$this->Session->setFlash(__('Not logged in'), 'default', array(), 'auth');
}
}