使用现有数据库表

时间:2016-11-23 09:39:48

标签: laravel authentication login

我有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工作。它仍然说: 这些凭据与我们的记录不符。

我想提一下,在数据库中我只有用户名和密码,并且没有姓名和电子邮件。

1 个答案:

答案 0 :(得分:1)

如果您尝试使用未加密的密码对现有用户进行身份验证,则无法使用。

Laravel auth要求加密所有密码以通过验证。因此,首先您需要更新数据库并使用config / app.php或.env文件中定义的相同加密密钥加密所有密码。

另外,根据经验,你永远不应该在数据库中保留明文密码。