我正在开发一个 Laravel 项目,与我的旧站点一起使用,目前拥有许多用户,这些用户附加了一个 md5 哈希作为密码。当我尝试使用下面的代码登录时,它返回 false
Auth::attempt(['Email' => $request->get('Email'), 'Password' =>md5($password)])
用户表以 user_id 作为主键,所以
2.如何user_id
在Auth::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] 删除。
我来说两句