我想创建Zend_Auth
类的多个实例,因为我有两个模块
当我登录管理员时,它会自动登录 前面,反之亦然。
我想要的是在同步认证后分别在两个模块中工作。
答案 0 :(得分:3)
Zend_Auth是一个单身人士,所以你不能。我所做的是使用Zend_Acl确保只有具有“admin”角色的用户才能获得管理内容。
要创建第二个Auth对象,原则上,您可以将Zend_Auth派生到App_Auth并使用不同的会话命名空间。我从来没有试过这个,但我的起始代码看起来像这样:
class App_Auth
{
/**
* Returns the persistent storage handler
*
* Session storage is used by default unless a different storage adapter has been set.
*
* @return Zend_Auth_Storage_Interface
*/
public function getStorage()
{
if (null === $this->_storage) {
/**
* @see Zend_Auth_Storage_Session
*/
require_once 'Zend/Auth/Storage/Session.php';
$this->setStorage(new Zend_Auth_Storage_Session('App_Auth'));
}
return $this->_storage;
}
}
您可能需要覆盖更多。