2016-10-21 3 views
1

приложение/Http/Контроллеры/Auth/LoginController.phpфлэш-сессия на выход из системы Laravel

В моей папке приложения У меня есть LoginController, который я переопределить функцию выхода из системы, чтобы добавить сеанс вспышки:

public function logout(Request $request) 
{ 
    $this->guard()->logout(); 

    $request->session()->flush(); 

    $request->session()->regenerate(); 
    $request->session()->flash('status', 'Task was successful!'); 

    error_log('~~~~~~~~~~~~~~~~~~~~~'); 
    error_log($request->session()->get('status')); 
    error_log('~~~~~~~~~~~~~~~~~~~~~'); 

    return redirect('/'); 
} 

Мой журнал ошибок не работает здесь, но когда я на самом деле попадаю он идет на маршруты/web.php линии:

Route::get('/', '[email protected]'); 

но в этот момент сессии больше не кажется, существует. Моя конечная цель состояла в том, чтобы отобразить ее на моей странице входа, которую пользователь успешно выполнил. У меня такое чувство, что моя логика ошибочна, и ее стирают через файл маршрутов, но я знаю, что в какой-то момент я действительно пишу на сессию. Любой совет?

+0

вы пробовали этот подход? 'return redirect ('/') -> withStatus ('Task was sucessful!');' – manix

+0

return redirect ('/ login'); останавливает меня от перехода на перенаправление маршрута и позволяет мне подключиться к моему логину. Это будет мое решение, но мне жаль, что я не знал, как сохранить вспышку во время перенаправления маршрута (если возможно) –

ответ

0

Попробуйте

public function logout(){ 
    //Illuminate\Support\Facades\Auth::logout(); 
    Auth::logout(); 
    flash()->info('Bye', 'You have been successfully logged out!'); 
    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/'); 
}