CakePHP:在注销期间使用Cookie组件

时间:2013-04-04 02:18:22

标签: php cakephp cookies authorization cakephp-2.0

我正在尝试在cakePHP应用中的注销操作期间删除/取消设置其他Cookie。我正在尝试所有三种方法,但它们似乎都没有任何效果。这是UsersController.php中的内容:

public function logout() {

    $wp_cookie = grab_wp_cookie(); //this grabs the extra cookie name/value 
    $cookie_name = (isset($wp_cookie['name'])) ? $wp_cookie['name'] : NULL;
            //none of these do anything...
    $this->Cookie->write($cookie_name, 'xxx', false, strtotime('-1 day'));
    $this->Cookie->delete($cookie_name);
    $this->Cookie->destroy();

    $this->redirect($this->Auth->logout());
}

我错过了什么吗?我找到了this documentation,但它并没有表明我正在做的事情有什么问题。但它确实显示了beforeFilter()中我没有使用的很多配置optoins。

1 个答案:

答案 0 :(得分:0)

我希望有人可以提供一个更好的答案,解释为什么蛋糕方法不起作用,但同时,我实际上能够使用PHP setcookie()无法正常工作先前。

我这样做没有成功:

    setcookie($cookie_name, "XXX", time()-3600);

但这可行:

    setcookie($cookie_name, "XXX", time()-3600, '/');

显然第四个参数是必要的。我很惊讶这个问题在我在这个主题上找到的文档或其他主题中没有被更多地讨论过。