Laravel 4 将经过身份验证的用户重定向回最初请求的URL或laravel中的默认URL
我是laravel的新手,我想获得以下结果,比如说,一个客户在搜索一个术语后进入结果页面,然后决定登录,我如何让用户登录并在laravel中保持相同的结果页面 我有以下代码 在filters.php中,我有以下内容:Laravel 4 将经过身份验证的用户重定向回最初请求的URL或laravel中的默认URL,laravel-4,Laravel 4,我是laravel的新手,我想获得以下结果,比如说,一个客户在搜索一个术语后进入结果页面,然后决定登录,我如何让用户登录并在laravel中保持相同的结果页面 我有以下代码 在filters.php中,我有以下内容: Route::filter('guest', function() { if (Auth::check()) return Redirect::to('/'); }); 然后在用户控制器中,我有以下内容 显示登录功能 handle登录函数 公共功能手动登录 { $dat
Route::filter('guest', function()
{
if (Auth::check()) return Redirect::to('/');
});
然后在用户控制器中,我有以下内容
显示登录功能
handle登录函数
公共功能手动登录
{
$data=Input::仅限['email','password']
if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
return Redirect::to('/profile');
}
return Redirect::route('login')->withInput();
}
现在,登录后的默认页面转到配置文件页面,但我希望用户返回登录前所在的位置
有什么帮助吗?谢谢我想这就是你要找的
return Redirect::back();
在Laravel4中,您可以使用Redirect::guest和Redirect::以便轻松实现目标
重定向::guest在重定向到目标URL之前将当前URL放入会话
重定向::检查会话中是否保存了任何URL,如果该URL不存在,则重定向到该URL或默认位置
实际上,您的代码可以是:
if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
return Redirect::guest('/profile');
}
登录后
if (Auth::check()) return Redirect::intended();
谢谢你的回答,它确实返回到结果页面的url,但我得到的错误是,如果搜索使用POST方法,则无法识别所做的查询。因此,是的,它将无法识别查询,因为它未保存。也许你可以使用GET方法进行搜索?
if (Auth::check()) return Redirect::intended();