Redirect :: Intended () в поддомен после проверки подлинности - PullRequest
0 голосов
/ 04 ноября 2019

В моем приложении 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. Я что-то здесь не так сделал?

1 Ответ

0 голосов
/ 04 ноября 2019

Забавно, решается просто добавлением auth промежуточного программного обеспечения.

Route::group(['domain' => 'admin.laravel.test'], function() {
    Route::group(['middleware' => ['admin', 'auth']], function() {
         Route::get('/', 'Admin\AdminController@index');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...