Laravel要重写Router.php里面的`auth`方法,应该在什么地方重写

 我来答
司马刀剑
高粉答主

2017-12-26 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7222万
展开全部
默认是使用eloquent作为认证驱动器,所以看看Illuminate\Auth\EloquentUserProvider里面的实现

public function validateCredentials(UserContract $user, array $credentials) { $plain = $credentials['password']; return $this->hasher->check($plain, $user->getAuthPassword()); }

所以如果要改验证的逻辑,可以继承原有的驱动器,然后重写validateCredentials里面的逻辑

class TestUserProvider extend EloquentUserProvider{ public function validateCredentials(UserContract $user, array $credentials) { $plain = $credentials['password']; return md5($plain) == $user->getAuthPassword(); }}

最后设置驱动器,建议加载AppServiceProvider的boot()里面

Auth::setProvider(new TestUserProvider());
培文北国名牌2842
2017-09-04 · 超过18用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:30.8万
展开全部
这个我不是太清楚,建议楼主去后盾人那里看看,哪里有很多相关的视频教学
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式