Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.10.2020 22:37:21

Переадресация на предыдущую страницу после авторизации

Добрый день.
Никак не получается переадресовать пользователя после регистрации.
(Laravel 7)

В LoginController.php заменил:

RouteServiceProvider::HOME;

на   

    /* redirect to the previous page */
    protected function redirectTo()
    {
        return url()->previous();
    }

и в RedirectIfAuthenticated.php

if (Auth::guard($guard)->check()) {
   return redirect()->intended();
}
return $next($request);

не помогает ((

Подскажите, кто сталкивался

Не в сети

#2 12.10.2020 09:02:25

Re: Переадресация на предыдущую страницу после авторизации

intended() именно то, что нужно. если не работает, в отладчике проверь присуствует ли ключ url.intended в сессии.
по идее, мидлварь которая проверяет авторизацию пользователя, сохраняет там адрес назначения.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 12.10.2020 09:40:56

Re: Переадресация на предыдущую страницу после авторизации

Спасибо, разбираюсь..

Не в сети

#4 16.10.2020 10:24:14

Re: Переадресация на предыдущую страницу после авторизации

Спасибо, разбираюсь..

Я не знаю насколько это криво , так как делал это давно , но это все работает . После авторизации пользователь перенаправляется на страницу из которой делал вход. Этот код в LoginController . Ну и естественно в нужном месте добавлял в сессию user_url . Наскольлко это криво я не знаю , уже предупреждал. smile

	protected function redirectTo()
	{
		if(session()->get('user_url')){
			return url(session()->get('user_url'));
			session()->pull('user_url');
		}

		else
		{
			return url('home');
		}

	}

Изменено DzonyBB (16.10.2020 10:36:01)

Не в сети

#5 18.10.2020 14:23:07

Re: Переадресация на предыдущую страницу после авторизации

@DzonnyBB, сорри за возможно глупы вопрос.
а как добавить в сессию user_url?

Не в сети

#6 18.10.2020 14:50:49

Re: Переадресация на предыдущую страницу после авторизации

@DzonnyBB, сорри за возможно глупы вопрос. а как добавить в сессию user_url?

Глупых вопросов не бывает. smile
Как то так,

session()->put('user_url',$request->segment(1));

Не в сети

#7 18.10.2020 14:52:26

Re: Переадресация на предыдущую страницу после авторизации

Спасибо )) разбираюсь

Не в сети

#8 18.10.2020 15:03:08

Re: Переадресация на предыдущую страницу после авторизации

Спасибо )) разбираюсь

Примерно так

        use Illuminate\Http\Request;

	public function моя функция(Request $request)
	{
              session()->put('user_url',$request->segment(1));	

	}//End function

Не в сети

Подвал раздела