Laravel:登入後將使用者重新導向到原始目的地
在Laravel 中,當使用者嘗試存取受保護的路由時,他們會被重新導向到登入頁面。登入後,用戶應該被重定向回他們最初嘗試訪問的頁面。
解決方案
適用於Laravel 5.3 及以上
// Login action public function login(Request $request) { if (Auth::attempt($request->all())) { return redirect()->intended('dashboard'); } return redirect('login'); }
For Laravel 5 Up to 5.2
// Auth middleware public function handle($request, Closure $next) { if (Auth::guest()) { Session::put('intended_url', request()->url()); return redirect('login'); } return $next($request); } // Login action public function login(Request $request) { if (Auth::attempt($request->all())) { return redirect()->intended('dashboard'); } return redirect('login'); }
對於Laravel 4
// Auth filter Route::filter('auth', function($route, $request) { if (Auth::guest()) { Session::put('intended_url', request()->url()); return Redirect::guest('login'); } }); // Login action public function login(Request $request) { if (Auth::attempt($request->all())) { return Redirect::intended('dashboard'); } return Redirect::to('login'); }
以上是Laravel 登入後如何將使用者重新導向至原始目的地?的詳細內容。更多資訊請關注PHP中文網其他相關文章!