Проблема с множественной аутентификацией в Laravel 7

#php #laravel-7

#php #laravel-7

Вопрос:

Я использую 2 метода аутентификации в проекте Laravel 7. Аутентификация по умолчанию и аутентификация вручную. Аутентификация по умолчанию используется для пользователя и ручная аутентификация для администратора. Но при ручной аутентификации, когда учетные данные указаны, маршрут перенаправляется обратно. Пожалуйста, кто-нибудь мне поможет. Я не могу понять ошибку, где я что-то пропустил.

Вот мой маршрут:

 //Admin Authentication
Route::get('/admin', 'AdminController@index')->name('adminLogin');
Route::post('/adminLogin', 'AdminController@adminLogin');

Route::group(['middleware' => ['admin']], function () { 
Route::get('/admin/home', 'AdminController@adminHome')->name('adminHome');
Route::post('adminLogout', 'AdminController@adminLogout');
}); 
  

Контроллер администратора:

 public function adminLogin(Request $request)
{
$this->validator($request);    
if(Auth::guard('admin')->attempt($request->only('email','password'),$request->filled('remember'))){
    //Authentication passed...
    return redirect('/admin/home')->with('success','You are Logged in as Admin!');
}
//Authentication failed...
return $this->loginFailed();
}
  

Промежуточное программное обеспечение:

 public function handle($request, Closure $next, $guard = 'admin')
{
    if (!Auth::guard($guard)->check()) {
        return redirect('/admin');
    }
    return $next($request);
    }
  

Обработчик:

 protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()) {
            return response()->json(['error' => 'Unauthenticated.'], 401);
        }
        if ($request->is('admin') || $request->is('admin/*')) {
            return redirect()->guest('/admin');
        }      
        return redirect()->guest(route('index'));
    }
  

Форма входа:

  <form role="form" action="{{ url('/adminLogin') }}" method="post">
                @csrf
                    <div class="form-group">
                        <a href="#" class="pull-right label-forgot">Forgot email?</a>
                        <label for="inputUsernameEmail">Username or email</label>
                        <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>

                                @error('email')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                    </div>
                    <div class="form-group">
                        <a href="#" class="pull-right label-forgot">Forgot password?</a>
                        <label for="inputPassword">Password</label>
                        <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">

                                @error('password')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                    </div>
                    <div class="checkbox pull-left">
                        <label>
                            <input type="checkbox">Remember me</label>
                    </div>
                    <button class="btn btn btn-primary pull-right" type="submit">
                        Log In
                    </button>
                </form>