zhangbing 2015-12-03 16:46:27 10832次浏览 2条回复 0 0 0

登录成功后\Yii::$app->user->isGuest一直返回true,有人遇到过这种问题吗

  • 回复于 2020-04-13 17:51 举报

    感谢,自己手误,搞错findIdentity里面的内容,排除到差点怀疑人生。。谢谢指点

  • 回复于 2015-12-03 22:20 举报

    调用\yii\web\User组件的login登录。
    1.如果在当前进程中是true,说明登录失败
    2.如果当前进程已经是false了,刷新页面(重新启动进程)中是true,应该是

    public static function findIdentity($id){
        return static::findOne($id);
    }
    

    出了问题,登录会调用这个findIdentity()去查询是否已经登录的,你看看你的这个$id是不是你自己设置的登录key。
    怎么说呢。。
    你看看你的登录代码:
    return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0);
    中的$this->getUser()是不是你上面的那个$id。如果不同的话,刷新等启动新进程就是true。

您需要登录后才可以回复。登录 | 立即注册