我正在尝试在我的网站上实现登录。但似乎 Yii::$app->user->login($user, 0) 不保存身份。

当我刚刚登录时,它工作正常:

    if (Yii::$app->user->login($user, 0) ) {
        var_dump(Yii::$app->user->identity);
    } else {
        echo 'didnt login';
    }

var_dump() 表明身份。

但是当我尝试在另一个控制器中获取身份时 var_dump() 节目 NULL:

// In other controller
var_dump(Yii::$app->user->identity);

有人知道这个问题吗?

有帮助吗?

解决方案

好的。俄罗斯 yii 论坛的 Guy 回答了这个问题。(http://yiiframework.ru/forum/viewtopic.php?f=19&t=19135&start=20)

namespace app\models;

use yii\db\ActiveRecord;
use yii\web\IdentityInterface;

class User extends ActiveRecord implements IdentityInterface
{}

我应该实施 IdentityInterface 我忘了。现在效果很好!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top