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',
相关推荐
心有—林夕15 分钟前
MySQL 误操作恢复完全指南
android·数据库·mysql
忙什么果33 分钟前
Mamba学习笔记2:Mamba模型
android·笔记·学习
Wyawsl1 小时前
MySQL故障排查与优化
android·adb
温天仁2 小时前
西门子PLC编程实践教程:工控工程案例学习
开发语言·学习·自动化·php
私人珍藏库3 小时前
[Android] 后台视频录制 FadCam v3.0.1
android·app·工具·软件·多功能
Z_Wonderful3 小时前
在 **Next.js** 中使用 `mysql2` 连接 MySQL 数据库并查询 `xxx` 表的数据
android·数据库
FirstFrost --sy3 小时前
MySql 内外连接
android·数据库·mysql
激昂网络3 小时前
在Ubuntu 24.04上编译T527 Android系统:遇到的几个问题及解决方法
android·linux·ubuntu
李艺为4 小时前
android客制开发之DevCheck检测CPU核心作假
android
hnlgzb4 小时前
LiveData和MutableLiveData都是什么?有什么区别?都是在什么情况下用?
android