Yii中處理先後臺登陸

若是有前臺會員登錄和後臺管理員登錄分離的需求,則須要爲前臺和後臺的登錄定製兩套不一樣的驗證機制,主要是經過定義不一樣的Session來實現。要解決這個問題就要將先後臺使用不一樣的Cwebuser實例登陸。這樣就已經作到了先後臺登陸分離開了,可是此時你退出的話你就會發現先後臺一塊兒退出了。因而我找到了logout()這個方法,發現他有一個參數$destroySession=true,原來如此,若是你只是logout()的話那就會將session所有註銷,加一個false參數的話就只會註銷當前登陸實例的session了php

    Yii::app()->user->logout(false);

main.phpweb

前臺user(Cwebuser)的配置: UserIdentitycookie

    'user'=>array(  
        'class'=>'WebUser',//這個WebUser是繼承CwebUser,稍後給出它的代碼  
        'stateKeyPrefix'=>'member',//這個是設置前臺session的前綴  
        'allowAutoLogin'=>true,//這裏設置容許cookie保存登陸信息,一邊下次自動登陸  
    ),


後臺user(Cwebuser)的配置: AdminIdentitysession

    'admin' => array(  
        'class' => 'AdminWebUser', //後臺登陸類實例  
        'stateKeyPrefix' => 'admin', //後臺session前綴  
        "guestName" => "遊客"  
    ),

Yii::app()->user//前臺訪問用戶信息方法app

Yii::app()->admin//後臺訪問用戶信息方法ide

  Yii::app()->admin->login($this->_identity,$duration);
相關文章
相關標籤/搜索