记住我checbox在Yii2中不起作用

时间:2017-05-13 13:32:48

标签: checkbox yii2

不知何故,我的登录页面remember me复选框不记得任何用户的输入信息。当我加载页面时,在我输入Remember meemail之后,password复选框会自动标记,下次它不记得任何信息。有人能告诉我为什么吗?谢谢你的帮助。

模特功能:

class LoginForm extends Model
{
public $email;
public $password;
public $rememberMe = true;

 /**
 * Logs in a user using the provided username and password.
 * @return boolean whether the user is logged in successfully
 */
public function login()
{
    if ($this->validate()) {
        return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0);
    } else {
        return false;
    }
}

View档案:

<?= $form->field($model, 'rememberMe', [
    'template' => "<div class=\"col-lg-offset-1 col-lg-3\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
])->checkbox() ?>

Controller actionLogin()

public function actionLogin()
{
    if (!\Yii::$app->user->isGuest) {
        return $this->goHome();
    }

    $model = new LoginForm();
    if ($model->load(Yii::$app->request->post()) && $model->login()) {
        return $this->goBack();
    } else {
        return $this->render('login', [
            'model' => $model,
        ]);
    }
}

1 个答案:

答案 0 :(得分:0)

用户登录页面中记住我复选框的目的不是存储用户名/密码字段并自动填充它们,这是由浏览器完成的。其目的是即使浏览器窗口关闭也要保持会话处于活动状态,这样当您再次打开它并转到该站点时,您已经登录。