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

Mid*_*ing 2 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的最佳方法是什么?

Tim*_*ain 7

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

Zend_Session::getId()
Run Code Online (Sandbox Code Playgroud)

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