Zend会话最佳实践:对其他数据使用Zend认证名称空间


Zend Session Best Practice: Use Zend Auth Namespace for other data?

我正在尝试为我的Zend会话命名空间找出最佳配置。

我需要在用户会话中跟踪两类数据。首先是与用户相关的机密数据。当用户注销时,该信息应从会话中删除。

第二类数据包含与特定用户代理的使用模式相关的非机密信息。它应该在用户注销后一直存在。

我正在使用Zend_Auth,因此在会话中有一个Auth命名空间。我认为我应该在这个会话中持久化其他与用户相关的数据。(我假定Zend_Auth::getInstance()->clearIdentity()将破坏整个命名空间)。

此外,我认为我需要第二个名称空间来存储与ua相关的信息,一个在注销时不会被破坏的名称空间。

这听起来合理吗?我很想听听有使用Auth命名空间存储额外信息经验的人的意见。

谢谢!

经过试验后,我发现单独使用Zend Auth的会话名称空间更安全。相反,我在会话中为应该在注销时删除的所有数据设置了一个替代名称空间,并且使用namespaceUnset来终止它。

听起来不错。我看不出为什么不可以。我个人在处理你们的案子时一直使用Zend_Session_Namespace。我不认为你需要清除会话,它在服务器上,无论如何都会被转储。当您想要清除标识是一回事,这样用户将被注销,但无论您存储的是什么,您都不需要清除。