我刚开始使用 Laravel 5,我来自 Laravel 4 环境,所以应该不会太难。
我听说 L5 带有内置的身份验证系统,非常简洁。我已经设置了从数据库到视图的所有内容。
注册过程运行正常,之后它会自动让我登录。但是当我注销并尝试重新登录时,出现此错误:
这些凭据与我们的记录不符。
我不确定出了什么问题。我必须手动编写登录控制器还是它在 L5 中如何工作?
原文由 Halnex 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚开始使用 Laravel 5,我来自 Laravel 4 环境,所以应该不会太难。
我听说 L5 带有内置的身份验证系统,非常简洁。我已经设置了从数据库到视图的所有内容。
注册过程运行正常,之后它会自动让我登录。但是当我注销并尝试重新登录时,出现此错误:
这些凭据与我们的记录不符。
我不确定出了什么问题。我必须手动编写登录控制器还是它在 L5 中如何工作?
原文由 Halnex 发布,翻译遵循 CC BY-SA 4.0 许可协议
除了 @mervasdayi 解决方案之外,在 setPasswordAttribute
中散列密码的一种好方法——避免重新散列问题可能是这样的:
public function setPasswordAttribute($password){
$this->attributes['password'] = Hash::needsRehash($password) ? Hash::make($password) : $password;
}
原文由 Gerard Reches 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
我遇到过同样的问题。我的原因是我在我的
User
setPasswordAttribute
,所以每次我输入纯密码,它在发送到数据库之前进行哈希处理。在我的 db:seed 中,我也使用
Hash::make("password")
创建了一个哈希密码用户。所以 laravel 散列散列密码 :)在 laravel 版本 5.* 中,您不需要为 Auth 散列输入密码,因为 Auth 会自行管理它。您只需通过表格传递
{{csrf_field()}}
。