2015-10-19 2 views
4

Я хочу перенаправить обратно туда, где был пользователь, после того, как он вышел из системы успешно, потому что у меня есть методы, которые доступны, даже если они вышли из системы.Laravel 5 Redirect После выхода из системы - как перенаправить обратно?

Я охраняю каждый метод в моем PhotosController кроме @show

public function __construct() 
{ 
    $this->middleware('auth', ['except' => 'show']); 
} 

Чтобы установить переадресацию после выхода из системы я установить свойство в моем AuthController так:

protected $redirectAfterLogout = '/customLogoutPage'; 

Но я хочу перенаправить пользователя обратно туда, где он был, поскольку он может видеть представление даже без блокировки.

Я пытался что-то в этом направлении:

protected $redirectAfterLogout = redirect()->back(); 

Но мой браузер говорит: «Неожиданная„(“, ожидая„“или„;“

Как можно использовать редирект обратно к представлению, в котором находился пользователь, прежде чем он выйдет из системы.

+0

Вы не можете получить встроенный AuthController, чтобы сделать это. Вы должны будете сделать свою собственную версию своей логики. – ceejayoz

+0

Создайте свой контроллер, который может это сделать .... –

+0

:/ok спасибо. У вас есть введение в это? – LoveAndHappiness

ответ

1

Встроенный logout-метод принимает только строку, вы передаете ей функцию. Если вам нужно это поведение, вы должны реализовать свой собственный метод выхода в AuthController.

К счастью, это очень просто:

public function getLogout() 
{ 
    Auth::logout(); 

    return redirect()->back(); 
} 

Вот так.

Для справки, это исходная функция используется Laravels AuthenticatesUser признака:

/** 
* Log the user out of the application. 
* 
* @return \Illuminate\Http\Response 
*/ 
public function getLogout() 
{ 
    Auth::logout(); 

    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/'); 
} 
1
public function getLogout() 
{ 
    Auth::logout(); 

    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/customLogoutPage'); 
} 
Смежные вопросы