Laravel:登录后重定向到上一页
问题:
如何重定向用户在遇到 Laravel 身份验证之前返回到他们尝试访问的页面过滤器?
答案:
对于 Laravel 5.3 及以上版本:
使用 request() 重定向到预期页面- > 预期(),例如:
// Auth middleware if (!Auth::check()) { return redirect()->intended('login'); } // Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('/'); }
对于 Laravel 5 至 5.2:
// Auth middleware if (!Auth::check()) { return redirect()->guest('login'); }
// Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('defaultpage'); }
对于 Laravel 4 :
// 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'); }
对于 Laravel 3:
// 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中文网其他相关文章!