为了账号安全,请及时绑定邮箱和手机立即绑定

有没有童鞋遇到过同样的问题:laravel 登录认证时密码字段默认是"password",不修改源码的前提下如何使用其它名称?

有没有童鞋遇到过同样的问题:laravel 登录认证时密码字段默认是"password",不修改源码的前提下如何使用其它名称?

小怪兽爱吃肉 2019-07-28 12:17:08
如题,其实我是在接入jwt认证时调用$token=JWTAuth::attempt($credentials)或auth()->attempt($credentials)生成token时发现laravel源码认证相关的类里是写死了密码的字段名"password"的,比如:src\Illuminate\Auth\GenericUser.php文件里的getAuthPassword()方法,该方法是直接从本类的retrieveByCredentials方法里查到用户,并直接使用password名称的字段作来使用的。所以貌似要修改只能改这里?由于历史原因公司项目里的用户密码字段不是"password",想问下除了直接修改laravel框架原码外,还有别的方式能能实现码?比如在app目录通过配置或其它修改?求大神指教。
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

刚好,一模一样的问题,这个不是jwt是对内置的Auth一个介绍。
php-Laravel:HowcanichangethedefaultAuthPasswordfieldname-StackOverflow
补充一下注册模型的位置吧。
vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php:39
                            
查看完整回答
反对 回复 2019-07-28
?
三国纷争

TA贡献1804条经验 获得超7个赞

$credentials=Arr::only($request->post(),['email','user_password']);
JWTAuth::attempt($credentials);
这样复写呢?相当于自定义了,代码用的laravel5.8的
                            
查看完整回答
反对 回复 2019-07-28
  • 2 回答
  • 0 关注
  • 425 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信