Laravel 4:登录后重定向用户

mwa*_*afi 1 php laravel laravel-4

我有不允许访客的页面,所以如果访客访问它会自动重定向到登录页面,

问题是,成功登录后是否有任何简单的方法(包括在Laravel中)将他返回到第一页?

我知道我可以在第一次重定向中使用with():

Redirect::action('UserController@login')->with('url', $_SERVER['REQUEST_URI']);
or
Redirect::action('UserController@login')->withUrl($_SERVER['REQUEST_URI']);
Run Code Online (Sandbox Code Playgroud)

然后在登录页面存储并使用它,

但Laravel是否已经建造了一些东西,

谢谢,

Ant*_*iro 5

是的,当您的用户首次进入您的站点时,Laravel会将该条目页存储在会话中,因此,一旦登录成功,您就可以:

return Redirect::intended();
Run Code Online (Sandbox Code Playgroud)

请注意,这可能仅在继续使用时才有效

return Redirect::guest('login');
Run Code Online (Sandbox Code Playgroud)

在过滤后的路线中.这是原始的Laravel代码(filters.php),它提供了以下功能:

Route::filter('auth', function()
{
    if (Auth::guest()) return Redirect::guest('login');
});
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法设置默认页面(以防目标不可用):

return Redirect::intended('dashboard');
Run Code Online (Sandbox Code Playgroud)

您可以使用以下方法更改原始设置Session:

Session::put('url.intended', $newUrl);
Run Code Online (Sandbox Code Playgroud)