首页 > 代码库 > Yii中处理前后台登录

Yii中处理前后台登录

如果有前台会员登陆和后台管理员登陆分离的需求,则需要为前台和后台的登陆定制两套不同的验证机制,主要是通过定义不同的Session来实现。要解决这个问题就要将前后台使用不同的Cwebuser实例登录。这样就已经做到了前后台登录分离开了,但是此时你退出的话你就会发现前后台一起退出了。于是我找到了logout()这个方法,发现他有一个参数$destroySession=true,原来如此,如果你只是logout()的话那就会将session全部注销,加一个false参数的话就只会注销当前登录实例的session了

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

main.php

前台user(Cwebuser)的配置: UserIdentity

    ‘user‘=>array(  
        ‘class‘=>‘WebUser‘,//这个WebUser是继承CwebUser,稍后给出它的代码  
        ‘stateKeyPrefix‘=>‘member‘,//这个是设置前台session的前缀  
        ‘allowAutoLogin‘=>true,//这里设置允许cookie保存登录信息,一边下次自动登录  
    ),


后台user(Cwebuser)的配置: AdminIdentity

    ‘admin‘ => array(  
        ‘class‘ => ‘AdminWebUser‘, //后台登录类实例  
        ‘stateKeyPrefix‘ => ‘admin‘, //后台session前缀  
        "guestName" => "游客"  
    ),

Yii::app()->user//前台访问用户信息方法

Yii::app()->admin//后台访问用户信息方法

  Yii::app()->admin->login($this->_identity,$duration);


Yii中处理前后台登录