Laravel 8 множественная аутентификация без аутентификации и перенаправления

#laravel

Вопрос:

Мой контроллер администратора расширяет класс контроллера, и там я использовал метод для загрузки страниц просмотра и передал охрану. config/auth.php также изменено путем добавления администраторов и поставщиков. В папке app/Actions/Fortify я добавил класс Attemptoauthenticate и RedirectIfTwoFactorAuthenticatable и также изменил пространство имен. Мой админ-контроллер также расширяет защиту. Промежуточное программное обеспечение с проверкой подлинности для пользователя и adminRedirectIfAuthenticated для администратора путем передачи защиты перенаправлению в механизме обработки.Все промежуточное программное обеспечение зарегистрировано. В providers/FortifyServiceProvider.php файл, который я добавил в реестр, классифицирован.

     **FortifyServiceProvider.php**
        public function register()
            {          
                $this->app->when([
                    adminController::class,
                    AttemptToAuthenticate::class,
                    RedirectIfTwoFactorAuthenticatable::class
                   
                ])->needs(StatefulGuard::class)->give(function(){
                    return Auth::guard('admin');
                });
            }
 
     **LoginResponse.php:**      
        public function toResponse($request)
            {
                return $request->wantsJson()
                            ? response()->json(['two_factor' => false])
                            : redirect()->intended('admin/dashboard');
            }
 
     **RouteServiceProvider.php**   
     public static function redirectTo($gaurd){
            return $guard."/dashboard";
        }
 
     **Web.php**
        Route::group(['prefix'=>'admin','middleware'=>['admin:admin']],function(){
                Route::get('/login',[adminController::class,'loginform']);
                Route::post('/login',[adminController::class,'store'])->name('admin.store');
            }
        );
        Route::middleware(['auth:sanctum,web', 'verified'])->get('/dashboard', function () {
            return view('dashboard');
        })->name('dashboard');
    
        Route::middleware(['auth:sanctum,admin', 'verified'])->get('/admin/dashboard', function () {
            return view('dashboard');
        })->name('dashboard');
 
     **Login.blade.php**    
    <form action="{{isset($guard)? url($guard.'/login'):route('login')}}" method='POST'>
                      @csrf
 

Но когда я вхожу в систему, ошибки или перенаправления нет. Это просто остается на той же странице.

Комментарии:

1. Опечатка? redirectTo($gaurd)

Ответ №1:

в вашем RouteServiceProvider.php файл, есть ошибка с опечаткой

  **RouteServiceProvider.php**   
     public static function redirectTo($gaurd){
            return $guard."/dashboard";
        }
 

Должно быть $guard , вместо $gaurd этого .

Комментарии:

1. Но это все равно остается прежним.