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',
相关推荐
Kapaseker2 分钟前
Android 吐槽大会:音频焦点反人类
android·kotlin
吃不胖爹8 分钟前
手机连接 Android Studio 调试完整步骤
android·智能手机·android studio
蜡台12 分钟前
Android Studio 高版本兼容低版本项目配置
android·ide·jdk·gradle·android studio
JTaoX15 分钟前
Bugku-web(需要管理员)
php·web·writeup·bugku·robots协议
Android系统攻城狮15 分钟前
Android tinyalsa深度解析之pcm_params_set_min调用流程与实战(一百六十九)
android·pcm·tinyalsa·音频进阶
cch891816 分钟前
PHP vs Java:主流编程语言深度对比
java·开发语言·php
高梦轩23 分钟前
MySQL 主从复制 + 读写分离
android·数据库
吴声子夜歌1 小时前
Node.js——os操作系统模块
开发语言·node.js·php
cch89181 小时前
PHP vs C++:10倍性能差距的编程语言对决
android·java·开发语言
cnnews1 小时前
Termux中安装python包
android·linux·开发语言·python·安卓·termux