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',
相关推荐
jiet_h1 小时前
Android Compose: `remember` 与 `ViewModel` 保存数据的优缺点对比
android
haoqi好奇2 小时前
uniapp+node+mysql接入deepseek实现流式输出
android·mysql·uni-app
网安墨雨3 小时前
信息安全意识之安全组织架构图
数据库·安全·php
alexhilton3 小时前
高效地在Jetpack Compose中设计UI组件
android·kotlin·android jetpack
恋猫de小郭3 小时前
Flutter 小技巧之通过 MediaQuery 优化 App 性能
android·前端·flutter
Android采码蜂3 小时前
SurfaceFlinger10-Transaction在sf进程中的提交过程
android
CYRUS_STUDIO3 小时前
安卓逆向魔改版 Base64 算法还原
android·算法·逆向
CYRUS_STUDIO4 小时前
安卓实现魔改版 Base64 算法
android·算法·逆向
盖盖衍上4 小时前
2-002:MySQL 索引的最左前缀匹配原则是什么?
android·数据库·mysql
李长渊哦5 小时前
Spring Boot 接口延迟响应的实现与应用场景
spring boot·后端·php