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);
相关文章
相关标签/搜索