【问题标题】:How to unset session when leaving website but not when refresh?离开网站时如何取消设置会话但刷新时不设置?
【发布时间】:2012-09-23 11:15:07
【问题描述】:

当用户离开网站时,我需要让我的网络应用程序销毁/取消设置 Zend_Auth 会话:例如,当用户从 myapp.com 导航到 google.com 时,当他们回来时不再设置会话?

最好在不取消设置的情况下允许刷新(但不是必需的,因为必须应用第一部分)。

以前有人有过这样做的经验吗?

【问题讨论】:

标签: php zend-framework zend-session zend-session-namespace


【解决方案1】:

在卸载页面之前进行 ajax 调用,清除 Zend Auth 的身份

<script language="JavaScript">
        window.onbeforeunload = function(){
        $.get('http://example.com/auth/clear');
    }
</script>

服务器端:

public function clearAction(){
    Zend_Auth::getInstance()->clearIdentity();
}

【讨论】:

  • 有没有办法忽略刷新还是不可能?
  • 使用这种方法,添加一个确认框也有点棘手,其中一个是调用 ajax 和一个否以返回页面。
  • 你可以这样做:window.onbeforeunload = function(){ if(confirm('are you sure?')){ $.get('example.com/auth/clear'); }else{ 返回假; } };它是如何刷新的?
猜你喜欢
  • 2012-11-10
  • 2011-11-14
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 2013-10-17
相关资源
最近更新 更多