我使用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)