【问题标题】:Laravel multi auth - Authentication user provider [] is not definedLaravel 多重身份验证 - 未定义身份验证用户提供程序 []
【发布时间】:2017-01-04 09:47:03
【问题描述】:

一放就可以了

'merchant' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

但是当我设置不同的表时它会显示错误

'merchant' => [
        'driver' => 'session',
        'provider' => 'merchants',
    ],

错误: CreatesUserProviders.php 第 40 行中的 InvalidArgumentException:未定义身份验证用户提供程序 []。

有什么问题。你能解释一下吗? 谢谢。

【问题讨论】:

    标签: php laravel laravel-5.3


    【解决方案1】:

    您最初是否创建了商家提供商?

    如果你没有

    php artisan make:provider MerchantServiceProvider
    

    然后你必须在 config/app.php/ 中注册你的提供者

    'providers' => [ App\Providers\RouteServiceProvider::class ]
    

    【讨论】:

    • 'providers' => [ App\Providers\RouteServiceProvider::class ] 或 'providers' => [ App\Providers\MerchantServiceProvider::class ] ?
    • MerchantServiceProvider,抱歉回复晚了
    【解决方案2】:

    如果你想更改注册/认证表,你只需要在 config/auth.php 文件中更改即可

        'providers' => [
                'users' => [
                    'driver' => 'eloquent',
    /*change this ---->*/ 'model' => App\<modelclassname>::class,
                ],
    

    这是身份验证用户提供程序,因此如果您想要添加一个新的提供程序,您需要向该数组添加另一个提供程序。您遇到的错误是因为您所调用的提供者商家未在此处注册。

    并检查您的 /app/modelname.php 是否有这样创建的受保护表:

    protected $table = 'merchant';  // ----> this is your table name
    

    所以如果你想使用多个提供者,你应该在 config/auth.php 文件的用户提供者部分注册你的提供者。您的提供程序数组应如下所示:

    'providers' => [
            'users' => [
                'driver' => 'eloquent',
                'model' => App\Users::class,
            ],
            'merchant' => [
                'driver' => 'eloquent',
                'model' => App\Merchant::class,
            ],
        ],
    

    之后,您应该能够按照您在问题中所写的那样使用提供程序。

    【讨论】:

      【解决方案3】:

      您始终可以使用我的包https://github.com/Hesto/multi-auth 并专注于您的应用程序而不是这种烦人的配置。

      【讨论】:

        【解决方案4】:

        您可以使用数据库或 elequent 关系作为驱动程序。

            'branchs' => [
                'driver' => 'database',
                'provider' => 'merchants',
        
            ],
        

        【讨论】:

          猜你喜欢
          • 2018-09-07
          • 2017-12-25
          • 2021-02-28
          • 2023-03-15
          • 2019-03-27
          • 1970-01-01
          • 2012-04-05
          • 1970-01-01
          • 2018-10-31
          相关资源
          最近更新 更多