Laravel 5 Auth:这些凭据与我们的记录不符

新手上路,请多包涵

我刚开始使用 Laravel 5,我来自 Laravel 4 环境,所以应该不会太难。

我听说 L5 带有内置的身份验证系统,非常简洁。我已经设置了从数据库到视图的所有内容。

注册过程运行正常,之后它会自动让我登录。但是当我注销并尝试重新登录时,出现此错误:

这些凭据与我们的记录不符。

我不确定出了什么问题。我必须手动编写登录控制器还是它在 L5 中如何工作?

原文由 Halnex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 363
2 个回答

我遇到过同样的问题。我的原因是我在我的 User setPasswordAttribute ,所以每次我输入纯密码,它在发送到数据库之前进行哈希处理。

 public function setPasswordAttribute($password)
{
    $this->attributes['password'] = \Hash::make($password);
}

在我的 db:seed 中,我也使用 Hash::make("password") 创建了一个哈希密码用户。所以 laravel 散列散列密码 :)

在 laravel 版本 5.* 中,您不需要为 Auth 散列输入密码,因为 Auth 会自行管理它。您只需通过表格传递 {{csrf_field()}}

原文由 mervasdayi 发布,翻译遵循 CC BY-SA 3.0 许可协议

除了 @mervasdayi 解决方案之外,在 setPasswordAttribute 中散列密码的一种好方法——避免重新散列问题可能是这样的:

 public function setPasswordAttribute($password){
    $this->attributes['password'] = Hash::needsRehash($password) ? Hash::make($password) : $password;
}

原文由 Gerard Reches 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏