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',
相关推荐
Xudde.38 分钟前
班级作业笔记报告0x04
笔记·学习·安全·web安全·php
eastyuxiao2 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
dog2503 小时前
对数的大脑应对指数的世界
开发语言·php
取码网5 小时前
最新在线留言板系统PHP源码
开发语言·php
不写八个5 小时前
PHP教程006:ThinkPHP项目入门
开发语言·php
Freak嵌入式7 小时前
Wiznet以太网模块实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
开发语言·php
huwuhang11 小时前
Winkawaks街机游戏模拟器整合ROM版 1.65 汉化修正完整版 2026.03.30
android·游戏·游戏机
yitian_hm11 小时前
MySQL主从复制与读写分离实战指南
android·mysql·adb
jwn99911 小时前
PHP vs Java:核心区别与选型指南
java·开发语言·php
NEGl DRYN11 小时前
Plugin ‘mysql_native_password‘ is not loaded`
android·数据库·mysql