0

我正在为我的项目开发基于 zend 模块的结构。作为Zend_Auth类的默认会话存储是Zend_Auth. 我根据被调用的模块进行了更改。说管理员我使用 auth 命名空间Admin_Auth和默认模块我使用命名空间名称Default_Auth

$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('Admin_Auth'));

我这样做是因为,如果我这样做Zend_Session::destroy(),即使是默认模块也会破坏完整的会话。所以在注销时使用命名空间等等Zend_Session::namespaceUnset('Admin_Auth');

每次在不同的控制器中我都必须使用

$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('Admin_Auth'));

只是指向相应的会话数据。

我正在考虑将它移动到模块Bootstrap.php

protected function _initAuth(){

    $auth = Zend_Auth::getInstance();
    $auth->setStorage(new Zend_Auth_Storage_Session('Admin_Auth'));

    return $auth;
}

首先,这是正确的方法吗?其次,如果是,那么我如何访问每个控制器中$auth的返回值?_initAuth()

4

0 回答 0