如何在 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 中实现“记住我”?的主要内容,如果未能解决你的问题,请参考以下文章