Can laravel';s身份验证记住没有密码的用户


Can laravel's Authentication remember a user without password?

这只是我公司的一个午餐订单系统,我们可以不用密码登录,但我尝试

Auth::attempt(['name' => $name, 'email' => $email], true)

它需要密码

我可以更改此配置吗?或者它能以其他方式记住用户吗?

理想情况下,您应该实现自己的身份验证提供程序,因为Laravel附带的默认值都需要哈希密码。

也就是说,由于您的身份验证要求非常简单,您可以尝试为提供的凭据(电子邮件、名称)检索User对象,然后将其传递给Auth::login()方法以自动登录该用户。

// Get user record
$user = User::where('name', $name)->where('email', $email)->first();
// Probably want to make sure the user exists, otherwise return an error
// Log the user in (pass true as second parameter to remember then)
Auth::login($user, true);

注册新用户时,只需硬编码密码,例如secret

Auth::attempt(['email' => $email, 'password' => 'secret', 'name' => $name], true);

现在您只需验证电子邮件和姓名。