小编Har*_*ron的帖子

laravel微风多重身份验证 - 具有两个不同注册的管理员卫士

我使用Laravel Breeze作为身份验证脚手架包。我想使用Laravel Guards为两种用户类型(管理员、用户)的两种不同注册表单创建多重身份验证。

我想要实现的主要想法:

我在数据库中有两个表,一个用于管理员,另一个用于用户,我想要实现的是,如果管理员选择将帐户注册为管理员,它将显示一个包含管理员指定字段的注册表单。之后,我想检查用户是否以管理员身份登录,或者如果以管理员身份登录,则将他/她重定向到专为管理员创建的指定仪表板。

它可以很好地注册,但无法以管理员身份登录,这里是我想要实现的目标的简单解释:

应用程序\模型\Admin.php

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class Admin extends Authenticatable
{
    use HasFactory, Notifiable;
    protected $table = 'admins';
    protected $fillable = [
        'name',
        'email',
        'password',
    ];
Run Code Online (Sandbox Code Playgroud)

配置\auth.php

<?php

return [
   
    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],

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

        'api' => [
            'driver' => …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel-guard laravel-8 laravel-breeze

4
推荐指数
1
解决办法
6740
查看次数