Laravel 8 添加自定義用戶提供者

2021-07-17 17:18 更新

如果不使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫存儲用戶,就需要使用自己的身份驗證用戶提供者擴展 Lavarel??梢允褂?Auth facade 的 provider 方法自定義用戶提供器:

<?php

namespace App\Providers;

use App\Extensions\RiakUserProvider;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Auth;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * 注冊任意應(yīng)用身份驗證 / 授權(quán)服務(wù)
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

        Auth::provider('riak', function ($app, array $config) {
            // 返回 Illuminate\Contracts\Auth\UserProvider... 實例...

            return new RiakUserProvider($app->make('riak.connection'));
        });
    }
} 

一旦使用 provider 方法注冊完畢,就可以在 auth.php 配置文件中切換到新的用戶提供者。先定義一個使用新驅(qū)動的 provider

'providers' => [
    'users' => [
        'driver' => 'riak',
    ],
],

最后,你就可以在 guards 配置中使用這個提供者:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
],
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號