Laravel 守卫登录

标签 laravel

我在为我的管理员用户使用自定义登录时有点卡住了。

我更喜欢为我的管理员使用另一个模型,只是为了确保所有内容都是分开的。我确实看到了很多例子来保护登录。所以看了一些教程并阅读了一些文章,我试了一下,但卡住了。

我为我的管理员设置了第二个守卫。

 'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],
    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        //'hash' => false,
    ],
],

使用提供者:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Users\Admin::class,
    ]
]

是的,我的 Admin 模型位于命名空间 App\Models\Users 中;

在我更改的登录 Controller 中:

Auth::attempt($request->only('email', 'password'));

到:

Auth::guard('admin')->attempt($request->only('email', 'password'));

在没有守卫的情况下它可以工作/使用用户模型获得授权。但我希望管理员守卫能够获得管理员模型。

现在,什么都没有发生。不是错误或 Auth 用户。

这里有人看到我做错了什么吗?

附言我已经清除了很多配置:缓存等。

更新: 当我将默认的 Gaurd 更改为“admin”并在未指定守卫的情况下登录时。我得到了一个管理模型。所以当我使用 Auth::guard('admin')

时出了点问题

最佳答案

您是否尝试过使用 auth()->guard('admin')。希望对你有帮助

关于Laravel 守卫登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56111758/

相关文章:

mysql - Laravel 和 MySQL 之间的实时性

php - 函数参数太少,使用 Mail 时传入 0,而预期正好 1

php - Laravel - 停止并发访问记录

php - Laravel Eloquent : dynamically adding parameters to advanced query

php - 扩展 attach() 方法?

laravel - 如何在MathML中将Elasticsearch用于索引公式?

php - 什么是 ORM? Eloquent ORM?

mysql - Laravel 的 sql 字段名称大写?

php - Laravel Livewire 文件上传返回 Null

PHPStorm 自动完成不适用于 Laravel 5