我正在使用 Zend Framework 编写一个应用程序,我需要能够按需注销用户。该应用程序将收到一个请求,其中包含映射到 SessionIds 的某种 ID,它将结束/过期这些会话。我知道如何进行映射,但是然后呢?如何结束具有其 ID 的会话?
我看到有Zend_Session::setId()
,但我认为这不是我想做的。
我有一个想法,只是删除与给定会话关联的文件,因为它们被命名为 sess_[sessionId],但我想这是一种丑陋的方法。
我正在使用 Zend Framework 编写一个应用程序,我需要能够按需注销用户。该应用程序将收到一个请求,其中包含映射到 SessionIds 的某种 ID,它将结束/过期这些会话。我知道如何进行映射,但是然后呢?如何结束具有其 ID 的会话?
我看到有Zend_Session::setId()
,但我认为这不是我想做的。
我有一个想法,只是删除与给定会话关联的文件,因为它们被命名为 sess_[sessionId],但我想这是一种丑陋的方法。
您可以将会话信息保存到数据库中。它将与会话 ID 相关。然后创建一个插件来检查数据库行是否仍然存在。如果没有,则执行Zend_Auth::getInstance()->clearIdentity()
注销用户的方法将从数据库中删除会话。
根据您的会话结构和您想要清除的具体内容,有多种方法可以销毁、过期和取消设置 Zend_Sessions。请参阅http://framework.zend.com/manual/1.12/en/zend.session.html了解更多信息。
如果将来您可以提供更多详细信息,也许还可以提供一些代码来说明您的问题,我相信社区会更乐意提供更好的答案。
祝你好运。