我有laravel 5.2项目,需要添加身份验证,但我需要将其连接到我的表,具有用户名和密码,也将默认的电子邮件/密码更改为用户名/密码。在我的表中也没有加密密码。
我已将login.blade.php文件从电子邮件字段更改为用户名。
同时更改user.php模型:
protected $table = 'LoginTable';
同时更改AuthController.php。加上这个:
protected $username = 'username';
并更改验证器和创建方法:
return Validator::make($data, [
'username' => 'required|max:255',
'password' => 'required|min:6|confirmed',
]);
return User::create([
'username' => $data['username'],
'password' => bcrypt($data['password']),
]);
但我无法登录。它说'这些凭据与我们的记录不符。'。 我该如何检查问题是什么?任何人都可以帮我解决这个问题吗?
更新
我已将密码更改为哈希密码,但仍无法使用auth工作。它仍然说: 这些凭据与我们的记录不符。
我想提一下,在数据库中我只有用户名和密码,并且没有姓名和电子邮件。
答案 0 :(得分:1)
如果您尝试使用未加密的密码对现有用户进行身份验证,则无法使用。
Laravel auth要求加密所有密码以通过验证。因此,首先您需要更新数据库并使用config / app.php或.env文件中定义的相同加密密钥加密所有密码。
另外,根据经验,你永远不应该在数据库中保留明文密码。