我正在分别存储我的User
表和Password
表。如果用户不小心将password
参数放在$visible
变量User
中,则可以避免意外泄漏散列密码。我不确定这是过度的还是无根据的,但这是我的理由。
那就是说,无论如何要告诉Auth::attempt
密码存储在另一个表中,并且在访问散列密码之前需要加入?
从教程中,登录很简单,假设在User
表中找到了密码字段
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Blah
}
由于我是Laravel的新手,我已经环顾四周,找不到任何人在Laravel中使用单独的哈希密码表,所以我不确定它是否受支持。
答案 0 :(得分:0)
在幕后,attempt()
方法使用一个表来获取凭据。您可以将users
表更改为其他表,但不能将密码保存在单独的表中。因此,在这种情况下,您需要创建自己的attempt()
方法。
public function customAttempt()
{
// Get password and hashed password.
// Verify password.
return password_verify($value, $hashedValue)
}