У нас есть 2 модели «Пользователь» и «Администратор», Admin Модель начинается так:
Код: Выделить всё
{
use HasFactory, HasRoles, Notifiable, SoftDeletes, TwoFactorAuthenticatable;
protected string $guard_name = 'admin';
protected $table = 'admins';
--snip--
Код: Выделить всё
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admin',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admin' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_reset_tokens',
'expire' => 60,
'throttle' => 60,
],
'admin' => [
'provider' => 'admin',
'table' => 'password_reset_tokens_admin',
'expire' => 60,
'throttle' => 60,
],
],
Что НЕ работает для защиты администратора, так это маршрут Fortify 2FA «подтверждение пароля».
Когда я нажимаю «2FA-аутентификация» в качестве «admin», я перенаправляюсь на маршрут «Подтверждение пароля» неправильного охранника «web», я не вхожу в систему с «web», поэтому меня перенаправляют на «web». Войти.
Это работает для администратора, когда я меняю Register() в FortifyServiceProvider.php следующим образом:
Код: Выделить всё
config(['fortify.guard' => 'admin']);
config(['fortify.passwords' => 'admins']);
config(['fortify.home' => '/admin/dashboard']);
У кого-нибудь есть решение для этой проблемы?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... rd-for-2fa
Мобильная версия