Laravel 自定义登录:使用 MD5 hasing

ov_rezoy

我正在开发一个 Laravel 项目,与我的旧站点一起使用,目前拥有许多用户,这些用户附加了一个 md5 哈希作为密码。当我尝试使用下面的代码登录时,它返回 false

Auth::attempt(['Email' => $request->get('Email'), 'Password' =>md5($password)])
  1. 有没有办法只对 Laravel 自定义登录使用 MD5 散列/将默认散列方法更改为 md5 ?

用户表以 user_id 作为主键,所以

2.如何user_idAuth::id()被调用获取登录用户

米拉德

如果您已经考虑过不推荐使用 MD5 并且没有其他选择,那么您可以按照以下步骤操作:

你的第一个问题:

使用 MD5 方法检查用户的密码并找到匹配的用户:

$user = User::where('Email', $request->get('Email'))->where('Password', md5($password))->first();

验证用户实例(如果存在):

if($user) Auth::login($user);

用户将直接通过身份验证Auth::login($user);,无需Auth::attempt($credentials);在您的情况下使用 Laravel 标准身份验证方法

第二个问题:

将此添加到 User 模型以覆盖主键:

protected $primaryKey = 'user_id';

希望对你的情况有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章