2016-10-21 50 views
1

應用程序/ HTTP /控制器/認證/ LoginController.php閃存會議

在我的應用程序文件夾,我有我重寫登出功能添加會話閃光燈的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 : '/'); 
}