gpt4 book ai didi

Laravel Sanctum 可以使用 Multiauth 防护

转载 作者:行者123 更新时间:2023-12-04 11:17:41 38 4
gpt4 key购买 nike

我正在用 laravel sanctum 进行测试,但这里有一些问题..
我正在创建管理员守卫。

enter image description here

当我将中间件更改为 auth:sanctum_admin .. 它应该只能由管理员访问,但在这里我可以使用普通用户帐户访问 web 守卫。我不知道为什么?...我使用带有多重身份验证包的护照。很好。但这里的密室不能将用户表和管理员分开。

最佳答案

您也可以在密室中使用多个守卫。为此,请按照以下步骤操作 -

  • 根据需要创建自己的守卫。 (在 config/auth.php)

  • 'guards' => [
    'web' => [
    'driver' => 'session',
    'provider' => 'users',
    ],

    'api' => [
    'driver' => 'token',
    'provider' => 'users',
    'hash' => false,
    ],

    'admin' => [
    'driver' => 'session',
    'provider' => 'admins',
    ]
    ],
  • 设置提供者。 (在 config/auth.php)

  • 'providers' => [
    'users' => [
    'driver' => 'eloquent',
    'model' => App\User::class,
    ],

    'admins' => [
    'driver' => 'eloquent',
    'model' => App\Admin::class,
    ],
    ],
  • 当您对用户进行身份验证时使用此保护。 (在路由文件中)

    if(auth()->guard('admin')->attempt($request->only('email','password')))
    {
    return auth()->guard('admin')->user();
    }
  • 关于Laravel Sanctum 可以使用 Multiauth 防护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61170647/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com