自定义UserProvider,更改验证方法
生活随笔
收集整理的這篇文章主要介紹了
自定义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,更改验证方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Smaug Coverage
- 下一篇: 'scrapyd-deploy' 不是内