Перенаправить на целевой URL после посещения многих страниц в Laravel - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу, чтобы посетители моего сайта перенаправляли на нужный URL после входа в систему. Предположим, у меня защищенная страница dashboard. Если какой-либо гость пытается получить доступ к dashboard, он перенаправляется на страницу login. Теперь вместо входа в систему он посещал другие страницы и затем намеренно возвращался на страницу login. Как я могу перенаправить его на ранее намеченную страницу dashboard после этого входа?

1 Ответ

1 голос
/ 22 апреля 2020

Это будет зависеть от того, как вы обрабатываете действие входа в систему, например, если вы используете промежуточное ПО RedirectIfAuthenticated, вы можете внести следующие изменения:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            // return redirect('/home');
            return redirect()->intended('dashboard');
        }

        return $next($request);
    }
}

Это перенаправит пользователя на любую страницу, на которую он рассчитывал получить доступ и отправить их в / панель по умолчанию. Вы можете дополнительно расширить это, используя другой запасной URL-адрес в зависимости от роли пользователя в случае, если гостям или администраторам необходимо войти на другую страницу после входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...