私は自分のプロジェクトの 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()
お願いします