如何在laravel 5.1中实现“记住我”?

时间:2016-01-07 09:42:10

标签: php laravel laravel-5 laravel-5.1 session-cookies

如何在laravel 5.1中实现rememeber me功能?谁能举个例子呢?

2 个答案:

答案 0 :(得分:6)

Laravel身份验证提供开箱即用的记住我功能。

为了使用它,你需要做两件事:

  • 在您的用户表格中添加 remember_token 列 - 这是存储令牌的位置
  • 传递 true 作为 Auth :: attempt()的第二个参数,以启用记住我行为

如果这样做,Laravel将生成一个令牌,该令牌将保存在用户表和cookie中。在后续请求中,即使会话cookie不可用,只要记住我的cookie,用户就会自动进行身份验证。

您可以在文档中找到更多详细信息和示例:https://laravel.com/docs/5.1/authentication#remembering-users

答案 1 :(得分:1)

laravel 可以提供记住我的功能。

你可以简单地使用。

public function login(Request $req)
{
    $req->validate([
        'username' => 'required|email|min:8|max:50',
        'password' => 'required|min:8|max:50'
    ]);

    $remember_me = $req->has('remember_me') ? true : false;

    $check = $req->only('username', 'password');
    
    if(Auth::attempt($check, $remember_me))
    {
        return redirect('admin/dashboard');
    }
    else
    {
        session()->put('error-msg', "Please enter the valid username and password");
        return redirect('admin/login');
    }
}