Zend_Auth的多个实例

时间:2010-04-17 12:09:41

标签: zend-framework

我想创建Zend_Auth类的多个实例,因为我有两个模块

  • 管理

当我登录管理员时,它会自动登录 前面,反之亦然。

我想要的是在同步认证后分别在两个模块中工作。

1 个答案:

答案 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;
    }
}

您可能需要覆盖更多。