laravel - 使用 2 个不同的表登录身份验证

标签 laravel laravel-8 laravel-authentication

我的 laravel 8 身份验证登录表单运行良好,但我需要为不同类型的用户创建一个新的认证系统,这些用户使用自己的用户名和密码存储在另一个表的数据库中。我怎样才能做到这一点?

最佳答案

您可以通过在“config/auth.php”中添加一个新的守卫来使用守卫来做到这一点。

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

      'admin' => [
          'driver' => 'session',
          'provider' => 'admin_users',
      ],
 ],

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

      'admin_users' => [
          'driver' => 'eloquent',
          'model' => App\Models\Admin\AdminUser::class,
      ],
  ],

我在这里创建了一个新的 Auth Guard“admin”。使用此守卫,您可以尝试从不同的表登录。

对于登录尝试: 对于用户:

if (Auth::guard('web')->attempt(['email' => $request->email, 'password' => 
    $request->password], $request->remember)) {
    return redirect()->intended(route('home'));
 }

对于管理员:

if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => 
   $request->password], $request->remember)) {
   return redirect()->intended(route('admin.dashboard'));
}

关于laravel - 使用 2 个不同的表登录身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66694187/

相关文章:

php - Laravel 2 表连接,左表中的所有成员与具有给定 FK 值的右表成员合并

php - 目标类不存在。 Laravel 8 中的问题

vuejs2 - Tailwindcss @apply 指令在 vue 组件中不起作用

php - 如何将登录的用户数据输入 Laravel Controller

laravel - 登录后出现太多重定向错误

PHP - 如何修改对象数组中的category_name和subcategory_name?

php artisan optimization仅在composer安装时超时

mysql - 在 Homestead 上重置 MySQL 密码

laravel - 如何在 Laravel 8 中更改 Jetstream Logo ?

laravel - 如何在使用 Spatie 的 Laravel 权限登录用户之前检查用户角色?