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',
相关推荐
zero_70325 小时前
HCIP 课程文字版思维导图笔记
服务器·网络·php
abbgogo5 小时前
OSPF动态路由协议
开发语言·php
文人sec6 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
刘洋浪子7 小时前
AndroidStudio保存日志菜单
android
朱涛的自习室7 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能
157092511349 小时前
ViewBinding与DataBinding区别与选型
android
小乖写代码11 小时前
49款开源Android小游戏
android·游戏
大鱼>11 小时前
共识算法:从PBFT到HotStuff的拜占庭容错演进
区块链·php·共识算法
三少爷的鞋11 小时前
小团队的最优解:单 Module + 包内 Clean 架构
android
爱和冰阔落11 小时前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim