wangerting1988

wangerting1988

互相学习

  • 财富值410
  • 威望值0
  • 总积分410

个人信息

  • 发布了话题
    CGridView中可以实现多表的收索吗?
  • 学习了!!!!:)

  • 解决了,谢谢舰长提示

    public function actionLogout()
    {
        Yii::app()->user->logout(false);
        $this->redirect(Yii::app()->homeUrl);
    }
    

    就是加了一个false这样前后台就不同步退出了。

  • 我就是用的这个的例子来做的前后台,用户也是分开的的。
    现在我可以分开登陆,但是退出时却是一起的。
    刚才我也测试一下那个demo的例子,也是和我一样的问题。

  • 舰长!!!!!!!:)救救我吧!

  • 请问。。。没人回答吗?

  • 发布了话题
    前后台退出问题(同步退出)
  • 解决了
    以下是源码,不过我还是不怎么理解。网上down下来以后就可以用,也是我要的效果。
    通过扩展CWebUser添加信息到Yii:app()->user

    (您的登录验证可能与我的版本不同,因此你将会使用适合脚本,以满足您的需求。我只告诉你我的意思)

    步骤:1、添加$user属性到UserIdentity类。 添加getUser()方法-getter上面这个属性。加setUser($user)方法-setter上面这个属性,它可以赋值给user的信息通过$user这个属性。

    我的UserIdentity类例子:

    <?php
    class UserIdentity extends CUserIdentity
    {
        /**
        * User's attributes
        * @var array
        */
        public $user;
     
        public function authenticate()
        {
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
            $user=User::model()->findByAttributes(array('email'=>CHtml::encode($this->username)));
     
            if ($user)
            {
                if ($user->password === md5($user->salt.$this->password)) {
                    $this->errorCode=self::ERROR_NONE;
                    $this->setUser($user);
                }
            }
     
            unset($user);
            return !$this->errorCode;
        }
     
        public function getUser()
        {
            return $this->user;
        }
     
        public function setUser(CActiveRecord $user)
        {
            $this->user=$user->attributes;
        }
    }
    ?>
    

    现在用户的属性已经设置,创建WebUser类并把它放在/protected/components

    <?php
    class WebUser extends CWebUser
    {
        public function __get($name)
        {
            if ($this->hasState('__userInfo')) {
                $user=$this->getState('__userInfo',array());
                if (isset($user[$name])) {
                    return $user[$name];
                }
            }
     
            return parent::__get($name);
        }
     
        public function login($identity, $duration) {
            $this->setState('__userInfo', $identity->getUser());
            parent::login($identity, $duration);
        }
    }
    ?>
    

    记得设置一下这个类Yii::app()->user

    <?php
    'components'=>array(
        'user'=>array(
            'class'=>'WebUser',
        )
    )
    ?>
    
  • 我应该是要新加一个验证体系,但是网上的说的不明白。你能写一个例子吗?

  • 我想用accessRules()这个函数来判断用户是否登录,但是前台登录以后,后台好像也登录了,我进后台的每一个页面说我没有权限,应该是到登录页面让我登录才对。

见习主管 等级规则
410/500
资料完整度
50/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

4

Ta的访客

10