Laravel - 'Auth guard [admin]未定义。

时间:2018-05-13 06:25:57

标签: laravel

我可能在处理可能改变了守卫的权限时改变了一些东西。我不知道是什么,因为我看不到任何git变化,可能是通过DB?

起初我尝试修改并赋予特定用户管理员权限: $role = Spatie\Permission\Models\Role::where('name', 'admin')->get()->first();

当返回undefined时,我检查了Auth::guard('admin'),返回undefined,所以我知道这个问题与Spatie包无关。

在stackoverflow上查看了几个问题/答案之后,其中一个是config:clearconfig:cache,它们无法正常工作,但仍然没有为Auth警卫管理员定义。

我可以采取任何其他选择来获得Auth管理员吗?

感谢

2 个答案:

答案 0 :(得分:4)

如果你编辑了config / auth.php,例如要添加另一个警卫并且您的配置已缓存,您的警卫可能无法重新加载。如果您遇到此问题,清除配置将修复它。

https://github.com/laravel/laravel/blob/v5.2.0/config/auth.php

import pandas as pd
df = pd.read_csv(filename, names=["Email"])
print(df["Email"].apply(lambda x: x if x.endswith("@myclinic.com.au") else x+"@myclinic.com.au"))

我正在使用laravel 5.4

答案 1 :(得分:0)

管理员管理员添加到身份验证保护中。之后,可以运行 php artisan config:clear 来删除以前的缓存配置。它应该与您的数据库中的角色->名称相匹配。

\ config \ auth.php (文件)

'guards' => [
    ...

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

一个老问题,但从Laravel 5到7仍然有效