【问题标题】:How to solve Auth guard [web] is not defined problem如何解决 Auth guard [web] 未定义问题
【发布时间】:2020-02-27 02:53:18
【问题描述】:

我做了 2 个警卫 1. 管理员和 2. 学生。现在,当我单击按钮以显示登录表单时,我总是发现未定义 Auth guard [web] 的错误。现在我如何解决这个问题。 这是我的配置/auth.php

 'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],
 'guards' => [
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'student' => [
            'driver' => 'session',
            'provider' => 'student',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],
    'providers' => [
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],
        'students' => [
            'driver' => 'eloquent',
            'model' => App\Student::class,
        ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],

我正在尝试使用管理员守卫登录管理员。请帮我解决这个问题,我不使用默认的 User.php 模型。

【问题讨论】:

  • 请贴出完整的错误信息,有几个地方调用了默认的webguard
  • 图片没有添加,我试了两次,可以从这里查看i.stack.imgur.com/F2nka.png
  • 在最顶部,您将默认保护设置为 web,但您删除了该保护。您可以尝试将默认设置更改为学生或管理员

标签: laravel authentication


【解决方案1】:

那是因为您要从应用程序中删除 web 保护。

只需将您的默认守卫从 web 更改为您的新守卫。

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

【讨论】:

  • @TanvirAhmed 确保在对配置文件进行任何更改后运行 php artisan config:clear
  • 是的,问题已解决,谢谢,但你能不能解释一下或提示我没有用户模型,但为什么我必须在这里导入
  • @TanvirAhmed 对不起,我错过了一些东西。只需检查更新的答案。
  • 但我不想默认使用这个守卫,但如果后来我被卡住了,我会告诉你
  • 那么,你想要什么?你只有adminsstudents。和api。只需选择其中一个。
猜你喜欢
  • 1970-01-01
  • 2021-10-28
  • 2017-09-24
  • 1970-01-01
  • 2020-04-22
  • 2020-01-19
  • 1970-01-01
  • 2019-05-01
  • 2017-07-29
相关资源
最近更新 更多