В моем приложении Laravel 6 страница входа находится в laravel.test/login
. У меня также есть поддомен admin.laravel.test
. Если гость или нет администратор пытается получить доступ к admin.laravel.test
, его следует перенаправить на страницу входа в систему.
Итак, я создал новое промежуточное ПО под названием CheckIfAdmin
.
public function handle($request, Closure $next)
{
if (!$request->user()) {
return redirect()->route('login');
}
if ($request->user() && $request->user()->role != UserRole::Administrator) {
return redirect()->route('member');
}
return $next($request);
}
* 1009. * В
route \ web.php Route::group(['domain' => 'admin.laravel.test'], function() {
Route::group(['middleware' => 'admin'], function() {
Route::get('/', 'Admin\AdminController@index');
});
});
Способ входа
if ($this->guard()->user()->status == UserStatus::Active) {
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return redirect()->intended('/');
}
Проблема в том, что когда предыдущий URL был admin.laravel.test
, он не перенаправляется наadmin.laravel.test
после аутентификации. Выполнение dd(redirect()->intended())
показывает, что targetUrl было laravel.test
. Я что-то здесь не так сделал?