Я использую Laravel Framework 5.4.10, и я использую регулярные проверки подлинности, чтоLaravel 5,4 перенаправление пользовательских URL после входа
php artisan make:auth
обеспечивает. Я хочу защитить все приложение и перенаправить пользователей в/темы после входа в систему.
У меня есть 4 контроллера: ForgotPasswordController.php, LoginController.php, RegisterController.php и ResetPasswordController.php. Я редактировал эту линию в последние три:
protected $redirectTo = '/themes';
Это первая строка в моем маршрутах/web.php:
Auth::routes();
Я добавил эту функцию в моей controller.php:
public function __construct()
{
$this->middleware('auth');
}
Я редактировал приложение/Http/Промежуточный/RedirectIfAuthenticated.php, так что функция ручки выглядит следующим образом:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/themes');
}
return $next($request);
}
Все в порядке, за исключением случаев, когда я нажимаю кнопку «Вход», меня перенаправляют на «/», а не «/ themes». Если мне не требуется аутентификация в контроллерах (нет функции __contruct в файле Controller.php), я получаю перенаправление OK при входе в систему. Что я делаю не так?
Отлично! Единственное, что isAdmin() дал мне ошибку BadMethodCallException, поэтому я пропустил всю часть IF, и она отлично работала! – ivanacorovic
Я рад, что это помогло, мое приложение использует isAdmin(), чтобы проверить, является ли пользователь администратором до перенаправления, не может иметь шанса измениться в соответствии с вашим кодом, просто хотел дать вам подсказку.Спасибо – Babagana