我正在为我的项目开发基于 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()
请