如何从Zend_Auth会话中获取会话ID?

时间:2012-09-24 15:39:35

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

使用默认的Zend_Auth会话存储(PHP会话),它会创建会话ID并将其放入cookie中。如果我想获得经过身份验证的用户的用户名(身份),则Zend_Auth::getInstance()->getIdentity()方法会获得该用户名。但是,我想获得用户的会话ID。我只是通过查看$_COOKIE或使用session_id()来获得它,但这似乎是hackish,如果我离开PHP会话存储可能会破坏?那么获取Zend_Auth会话的当前会话ID的最佳方法是什么?

1 个答案:

答案 0 :(得分:7)

我认为你不会找到一个很好的方法来做到这一点。如果存在这样的方法,它将在Zend_Auth_Storage_Interface中定义,但非会话类型的存储不一定具有等效的会话ID,因此auth存储类对此没有任何抽象。你最接近的可能是:

Zend_Session::getId()

但这只是调用PHP的session_id(),因为Zend_Session依赖于内置的PHP会话功能。