繁体   English   中英

Laravel 4:选中“记住我”复选框后,用户的登录信息不会在数据库中被记住,仅在Cookie中被记住,因此记住我无法正常工作

[英]Laravel 4: After checking “remember me” checkbox user's login doesn't get remembered in database, only in cookie, thus remember me not working

我正在使用laravel 4.1.24。

我有一个登录表单,我正在其中尝试实现“记住我”功能。 我已经使用Auth :: attempt()来实现上述功能。 这是我的代码。

$input = Input::all();

$rules = array('email' => 'required', 'password' => 'required');

$v = Validator::make($input, $rules);

if($v->passes()) {

   $credentials = array('email' => $input['email'], 'password' => $input['password']);

   if( Auth::attempt($credentials, Input::has('remember_me') ? true : false) ) {

      // user authenticated
   }
} else {

      return Redirect::to('login')->withInput()->withErrors($v);
}

我还在用户表中创建了一个列“ remember_token”(具有255个字符的可为空的字符串)。 并且还在模型User.php中添加了以下3种方法

public function getRememberToken()
{
    return $this->remember_token;
}

public function setRememberToken($value)
{
    $this->remember_token = $value;
}

public function getRememberTokenName()
{
    return 'remember_token';
}

是的,它的确设置了名为“ remember_xxxxxx”的cookie,但未向“ remember_token”列添加任何内容。 没用 有什么我想念的吗?

我正在使用laravel 4.1.24。

remember_token值在Laravel 4.1.26介绍。 您需要升级版本以利用新功能。 这是Laravel文档为您提供的升级指南

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM