![](/img/trans.png)
[英]laravel 5.5 Multi auth error 'InvalidArgumentException Authentication user provider [] is not defined.'
[英]Laravel multi auth - Authentication user provider [] is not defined
当它放置时它起作用
'merchant' => [
'driver' => 'session',
'provider' => 'users',
],
但是当我设置不同的表时它显示错误
'merchant' => [
'driver' => 'session',
'provider' => 'merchants',
],
错误:CreatesUserProviders.php 第 40 行中的 InvalidArgumentException:未定义身份验证用户提供程序 []。
有什么问题。 你能解释一下吗? 谢谢。
起初,您是否创建了商家提供商?
如果你没有
php artisan make:provider MerchantServiceProvider
然后你必须在:config/app.php/中注册你的提供者
'providers' => [ App\Providers\RouteServiceProvider::class ]
如果你想改变注册/认证表回去你的改变,你只需要在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,
],
],
之后,您应该可以在问题中写入时使用提供程序。
您可以随时使用我的包https://github.com/Hesto/multi-auth并专注于您的应用程序,而不是这种烦人的配置。
您可以使用 database 或 elequent 关系作为驱动程序。
'branchs' => [
'driver' => 'database',
'provider' => 'merchants',
],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.