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

Posted

技术标签:

【中文标题】如何在 laravel 5.1 中实现“记住我”?【英文标题】:How implement 'remember me' in laravel 5.1? 【发布时间】:2016-04-11 15:31:45 【问题描述】:

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

【问题讨论】:

你有没有尝试寻找或做某事,你想做什么样的应用? 【参考方案1】:

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

要使用它,您需要做两件事:

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

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

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

【讨论】:

很好,这在 Laravel 4.2 中也可用,因为我使用旧版本查看我的项目。【参考方案2】:

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');
    

【讨论】:

以上是关于如何在 laravel 5.1 中实现“记住我”?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.3记住我身份验证问题

Laravel 5.3记住我身份验证问题

如何使用 Laravel 5.1 在 IronMQ 中获取排队作业的数量?

在 ASP.NET MVC 中实现“记住我”功能

如何在 laravel 中实现 vuetify?

如何使用 Laravel 在网站中实现 OCR