laravel 自定义密码验证方式

继承 EloquentUserProvider

php 复制代码
<?php
 
 
namespace App\Providers;
 
 
use Illuminate\Auth\EloquentUserProvider;
use Illuminate\Contracts\Auth\ Authenticatable as UserContract;
 
class ApiEloquentUserProvider extends EloquentUserProvider
{
    public function validateCredentials( UserContract $user, array $credentials)
    {
 
        //这里写自己的验证规则
        $password = $user->system_encrypt($credentials['password'],$user['salt']);
        return $password == $user->getAuthPassword();
    }
}

修改App\Providers\AuthServiceProvider

php 复制代码
public function boot()
{
        $this->registerPolicies();
 
        Auth::provider('api-eloquent', function ( $app, array $config) {
            return new \App\Providers\ApiEloquentUserProvider( $app[ 'hash'], $config[ 'model']);
        });
}

然后就可以在config/auth.php里直接使用了

linux 复制代码
'driver' => 'api-eloquent',
相关推荐
Johnstons1 小时前
丢包率不高但应用仍然卡顿?一次基于 tcpdump +RTT抽样的网络性能排障实战
网络·wireshark·php·tcpdump
众少成多积小致巨1 小时前
Soong构建入门
android·go·编译器
笔夏1 小时前
【安卓学习之混淆】记录一些混淆导致闪退
android·学习
阿巴斯甜1 小时前
Kotlin高阶函数和Java 8 lambda的区别:
android
eggwyw1 小时前
PHP搭建开发环境(Windows系统)
开发语言·windows·php
张小潇2 小时前
AOSP15 WMS/AMS系统开发 - WindowManagerService relayout调用流程详解
android
阿巴斯甜2 小时前
Kotlin 高阶函数:
android
niucloud-admin2 小时前
PHP SAAS 框架常见问题——如何关闭开发者调试模式
php
niucloud-admin2 小时前
PHP SAAS 框架常见问题——无法正常打开 admin 后台
php
之歆2 小时前
Day03_HTML 列表、表格、表单完整指南(下)
android·javascript·html