#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. Но это все равно остается прежним.