欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

自定义UserProvider,更改验证方法

发布时间:2023/12/2 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 自定义UserProvider,更改验证方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 新建UserProvider,如果继承EloquentUserProvider,注入model是必须的,或者去继承interface,自己实现一些方法

use Illuminate\Auth\EloquentUserProvider; use Illuminate\Contracts\Auth\Authenticatable as UserContract;class MyUserProvider extends EloquentUserProvider {protected $model;public function __construct($model){$this->model = $model;}public function validateCredentials(UserContract $user, array $credentials){$plain = $credentials['password'];$secret = $user->getAuthPassword();if (password_verify($plain, $secret)){return true;}elseif ($this->think_ucenter_md5($plain) === $secret){$user->password = password_hash($plain, PASSWORD_DEFAULT);$user->save();return true;}}private function think_ucenter_md5($str){return md5(sha1($str) . 'VvKl0QZBE7nao5xtXqGkWrMPchRbHdwmLF361izT');}}

app\Providers\AuthServiceProvider.php 中进行注册

public function boot(GateContract $gate){$this->registerPolicies($gate);Auth::provider('my', function($app) {// 返回Illuminate\Contracts\Auth\UserProvider实例...return new MyUserProvider(User::class);});}

更改config/auth.php

'providers' => ['users' => ['driver' => 'my','model' => my\User\User::class,],

 

转载于:https://www.cnblogs.com/fenle/p/5650882.html

总结

以上是生活随笔为你收集整理的自定义UserProvider,更改验证方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。