Laravel:登入後重新導向到上一頁
問題:
問題:如何重做>問題:
如何重做>問題:
如何重做定向用戶在遇到Laravel 身份驗證之前返回他們嘗試訪問的頁面過濾器?
// Auth middleware if (!Auth::check()) { return redirect()->intended('login'); } // Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('/'); }
答案:
// Auth middleware if (!Auth::check()) { return redirect()->guest('login'); }
// Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('defaultpage'); }
在auth 中間件中,重新導向到「登入」並將原始URL儲存在session:
// Auth filter Route::filter('auth', function() { if (!Auth::check()) { return Redirect::guest('login'); } });
// Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return Redirect::intended('defaultpage'); }
在驗證過濾器中,重定向到「登入」並將原始URL 儲存在會話中:
// Auth filter Route::filter('auth', function() { if (!Auth::check()) { Session::put('redirect', URL::full()); return Redirect::to('/login'); } });
// Login controller public function get_login() { // ... } public function post_login() { // ... if (Auth::attempt($credentials)) { $redirect = Session::get('redirect'); Session::forget('redirect'); if ($redirect) { return Redirect::to($redirect); } else { return Redirect::to('defaultpage'); } } // ... }
以上是Laravel 驗證後如何將使用者重新導向回上一頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!