小编Aft*_*sow的帖子

如何为 Laravel 5.7 创建自定义 Auth Guard / Provider

我正在从 Laravel 4 迁移到 5.7,但我的自定义身份验证提供程序遇到了问题。我遵循了各种演练(例如123)以及相当多的谷歌搜索。

我尝试通过以下方式使其工作:

设置守卫和提供者并链接到我的目标模型。


    'defaults' => [
        'guard' => 'custom_auth_guard',
        'passwords' => 'users',
    ],

    'guards' => [

        'custom_auth_guard' => [
            'driver' => 'session',
            'provider' => 'custom_auth_provider',
        ],
    ],

    'providers' => [

        'custom_auth_provider' => [
            'driver' => 'custom',
            'model' => App\UserAccount::class,
        ],        
    ],
Run Code Online (Sandbox Code Playgroud)

注册上述提供程序中定义的驱动程序。为了方便起见,我搭载了 AuthServiceProvider


...
    public function boot()
    {
        $this->registerPolicies();

        \Auth::provider('custom',function() {            
        return new App\Auth\CustomUserProvider;
        });
    }
...
Run Code Online (Sandbox Code Playgroud)

创建了我的自定义提供程序,其中包含retrieveByCredentials等。我已经用一些 die() 替换了逻辑,以验证它是否在这里实现。在 Laravel 4 中,它曾经转到 validateCredentials()。


class CustomUserProvider implements UserProviderInterface {

    public …
Run Code Online (Sandbox Code Playgroud)

laravel

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

laravel ×1