我正在使用 cakephp 2.3 版本。我只需要在用户注销时禁用缓存。这是为了防止在按下后退按钮时登录。
但是对于所有其他情况,我不想打扰缓存机制。
现在我在 AppController 中使用以下函数:
public function beforeRender() {
$this->response->disableCache();
}
但我怀疑它是否会完全禁用缓存过程。请帮忙!
我正在使用 cakephp 2.3 版本。我只需要在用户注销时禁用缓存。这是为了防止在按下后退按钮时登录。
但是对于所有其他情况,我不想打扰缓存机制。
现在我在 AppController 中使用以下函数:
public function beforeRender() {
$this->response->disableCache();
}
但我怀疑它是否会完全禁用缓存过程。请帮忙!
如果用户在注销后单击后退按钮,我不相信用户会自动重新登录到您的网站。我猜你的问题是,当用户在注销后按下后退按钮时,你希望他们被转发到登录页面。不幸的是,浏览器可能会缓存它所在的最后一个页面,并给用户一种他们仍在登录的错觉。请放心,当他们尝试执行需要登录的操作时,cookie 中存储的会话 ID , 不会被识别,它们将被转发到认证页面。
一种可能的解决方法是在注销后将用户重定向到另一个控制器操作 - 这将在浏览器历史记录中引入额外的转换。我不知道如果他们点击两次会发生什么。
将此添加到应用程序的标题页:
<?php
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
?>