我正在使用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);
}
我还在users表中创建了一个列“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列添加任何内容。它不起作用。我错过了什么吗?
答案 0 :(得分:4)
我正在使用laravel 4.1.24。
Laravel 4.1.26中引入了remember_token
值。您需要升级您的版本才能利用新功能。 Here is an upgrade guide from the Laravel Docs for you