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