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

Hal*_*nex 4 php authentication laravel laravel-5

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

我听说L5配有内置的认证系统,整洁.我已经将所有内容从数据库设置为视图.

注册过程正常,之后它会自动登录.但是当我退出并尝试重新登录时,我收到此错误:

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

我不确定是什么问题.我是否必须手动编写登录控制器或在L5中如何工作?

mer*_*ayi 21

我遇到过同样的问题.我的原因是我setPasswordAttribute在我的User模型中定义所以每次输入普通密码,它在发送到DB之前都是哈希.

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

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

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


Ger*_*hes 5

除了@mervasdayi解决方案之外,为setPasswordAttribute避免重新散列问题而对密码进行散列的一种好方法可能是:

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