【发布时间】:2018-06-18 18:18:12
【问题描述】:
我正在尝试为一家公司的现有应用程序添加身份验证,该公司有一个表,该表使用纯文本密码存储其用户。在 Laravel 中,我知道我可以使用 Auth::attempt() 来验证用户身份,但是会根据哈希密码检查密码。如何改为检查纯文本密码?
【问题讨论】:
标签: php laravel authentication
我正在尝试为一家公司的现有应用程序添加身份验证,该公司有一个表,该表使用纯文本密码存储其用户。在 Laravel 中,我知道我可以使用 Auth::attempt() 来验证用户身份,但是会根据哈希密码检查密码。如何改为检查纯文本密码?
【问题讨论】:
标签: php laravel authentication
只需使用loginUsingId() 方法手动检查密码和登录用户:
if ($user->password === $request->password) {
auth()->loginUsingId($user->id);
}
我还建议您对所有密码进行哈希处理。存储纯文本密码是一件可怕的事情。只做一次这样的事情(例如在 Tinker 中):
$users = User::all();
foreach ($users as $user) {
$user->update(['password' => bcrypt($user->password)]);
}
【讨论】: