您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页Laravel Auth加密驱动

Laravel Auth加密驱动

来源:二三娱乐

登录加密

Auth认证加密方式并不适用于本人的原有数据,原有数据是MD5的16位加密

创建一个驱动

<?php
namespace App\Exceptions;
use Illuminate\Auth\EloquentUserProvider;
use Illuminate\Contracts\Hashing\Hasher as HasherContract;
use Illuminate\Contracts\Auth\Authenticatable as UserContract;

/**
 * Created by PhpStorm.
 * User: hua
 * Date: 2017/12/13
 * Time: 15:46
 */
class TestUserProvider extends EloquentUserProvider
{
    public function __construct(HasherContract $hasher, $model)
    {
        $this->model = $model;
        $this->hasher = $hasher;
    }

    public function validateCredentials( UserContract $user, array $credentials)
    {
        $plain = $credentials['password'];

        $datapassword = substr(md5($plain), 8, 16);

//        return md5($plain) == $user->getAuthPassword();
        return $datapassword == $user->getAuthPassword();
    }
}

AuthServiceProvider注册驱动

    public function boot()
    {
        $this->registerPolicies();
        Auth::provider('user-eloquent', function ($app, $config) {
            return New TestUserProvider($app['hash'], $config['model']);
        });
        //
    }

注册后的驱动名称为user-eloquent,修改auth.php中调用的的驱动

    'providers' => [
        'users' => [
            'driver' => 'user-eloquent',
            'model' => \App\Models\UniUser::class,
        ],
        'admins' => [
            'driver' => 'eloquent',
            'model' => \Encore\Admin\Auth\Database\Administrator::class,
        ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务