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',
相关推荐
q20609517107 分钟前
文件上传漏洞攻防全解析
android
刮风那天7 分钟前
Android 理解requestStartTransition过渡动画
android
weixin_BYSJ198722 分钟前
基于Django的非物质文化遗产管理系统设计与实现(源码 + 文档)98950
java·javascript·spring boot·python·django·flask·php
流星白龙31 分钟前
【MySQL高阶】8.MySQL系统库
android·mysql·adb
Mr.QingBin36 分钟前
android Surface绘制状态流转-WindowStateAnimator
android
码云骑士44 分钟前
Android 应用启动过程
android
weixin_BYSJ19871 小时前
springboot鹿邑县旅游网站99312(源码+文档)
java·javascript·spring boot·python·django·flask·php
bqliang1 小时前
译 · Jake Wharton 访谈:Android 圈最熟悉的那个名字
android·程序员·开源
三少爷的鞋1 小时前
Android Data 层 Flow 最佳实践:以冷流为基础,按需转热,避免过早共享状态
android
私人珍藏库9 小时前
【Android】Soul v5.86.0 内置模块版
android·app·工具·软件·多功能