You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.5多认证报错:InvalidArgumentException未定义认证用户提供者

解决Laravel 5.5多认证中的InvalidArgumentException Authentication user provider [] is not defined错误

嘿,我来帮你排查这个认证错误的问题!这个报错的根源其实是你的config/auth.php配置里存在两处明显的问题:

问题1:守卫与认证提供者的名称不匹配

你在guards数组里给admin守卫指定的provider是adminss,但在providers数组里你定义的提供者键名是admins——拼写差了一个字母,Laravel找不到对应的提供者,自然就抛出错误了。

问题2:admins提供者的配置不完整

从你贴出的代码来看,providers里的admins配置只写了'dri...就中断了,缺少完整的驱动和模型/表配置,这也会导致Laravel无法正确识别这个提供者。

具体修复步骤:

  1. 修正守卫的提供者名称
    把guards里admin项的provider值改成admins,和你定义的提供者键名保持一致:

    'guards' => [
        // ... 其他守卫配置
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins', // 这里把adminss改为admins
        ],
    ],
    
  2. 补全admins提供者的完整配置
    根据你的需求选择Eloquent驱动(用模型)或者Database驱动(直接用数据库表),补全配置:

    • 如果你用Eloquent模型(推荐):
      'providers' => [
          // ... users提供者配置
          'admins' => [
              'driver' => 'eloquent',
              'model' => App\Admin::class, // 替换成你的Admin模型类路径
          ],
      ],
      
    • 如果你用Database驱动:
      'providers' => [
          // ... users提供者配置
          'admins' => [
              'driver' => 'database',
              'table' => 'admins', // 对应你的管理员数据表名
          ],
      ],
      
  3. 清除配置缓存(重要)
    修改配置后,记得清除Laravel的配置缓存,确保新配置生效:

    php artisan config:clear
    

做完这些步骤后,你的多认证配置应该就能正常工作了,不会再抛出那个提供者未定义的错误啦!

内容的提问来源于stack exchange,提问作者Sai Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:59:41