2015-03-22 21:24:03 14767次浏览 5条回答 0 悬赏 5 金钱
public function actionLogin()
    {
        if (!\Yii::$app->user->isGuest) {
            return $this->goHome();
        }

        $model = new LoginForm();
        if ($model->load(Yii::$app->request->post()) && $model->login()) {

            var_dump(Yii::$app->user->isGuest);   **

_### _/*登录成功后,这值成功被设置成false,但是跳转后值又变成了true,应该还是为false的,怎么会又设置成了true,什么原因求解*/
_**_

            return $this->goBack();
        } else {
            return $this->render('login', [
                'model' => $model,
            ]);
        }
}
  • 回答于 2015-10-15 00:18 举报

    我也遇到了同样的问题,不知道现在你解决了吗,能告诉我吗,困扰我好几天了...

    1 条回复
    回复于 2016-11-17 00:21 回复

    问题解决了么,我也遇到这个问题了

  • 回答于 2015-11-09 12:02 举报

    if (!\Yii::$app->user->isGuest) {

            return $this->goHome();
        }
    
        $model = new LoginForm();
        
        if($model->load(Yii::$app->request->post()) && $model->login()) {
          
            return $this->goBack();
        } else {
            $this->layout = 'login.php';
            return $this->render('login', [
                'model' => $model,
            ]);
        }
    
    觉得很赞
  • 回答于 2016-04-19 15:48 举报

    先清理下本地浏览器缓存,
    然后更改配置文件如下:
    'user' => [

            'identityClass' => 'XX\models\User',
            'enableAutoLogin' => **true**,
            'identityCookie' => ['name' => 'backend_identity'],
        ],
    

    注意enableAutoLogin必须是true
    而且 identityCookie 中name值最好跟别的应用配置重名;

    1 条回复
    回复于 2018-04-16 13:44 回复

    更改了也不行

  • 回答于 2018-04-16 13:49 举报

    麻烦问一下解决了吗,也遇到了这个问题

  • 回答于 2020-11-30 16:33 举报

    我也遇到了这个问题, 不过我解决了, 留个记录提醒需要的人.
    原因是user model里的这个func

    public function getId()
        {
            return $this->getPrimaryKey();
        }
    
    

    登陆组件会根据getId()来存储登陆状态.
    而我的user表从sql导入的, id没有设置为主键, 设置后登陆正常

您需要登录后才可以回答。登录 | 立即注册
bobysky
见习主管

bobysky

注册时间:2015-03-01
最后登录:2016-10-05
在线时长:23小时7分
  • 粉丝6
  • 金钱0
  • 威望0
  • 积分230

热门问题