【发布时间】:2015-03-17 06:45:51
【问题描述】:
我的 route.php 中有这个:
Route::resource('post','postcontroller');
如果用户登录,我希望可以访问“帖子”。所以,我在我的 route.php 中做了这个:
Route::group(array('before'=>'auth'),function(){
Route::get('post','postcontroller@index');
});
在我的控制器中,我编码->“登录后,重定向到'post'”
但是,当我尝试在真实浏览器中登录时,在我登录后,它会自动重定向到“登录”。
我用谷歌搜索,我得到了解决方案,我必须更改 filters.php 上的代码:
来自
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('login');
}
}
});
进入
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('post');
}
}
});
完成后,确实在我尝试登录真实浏览器后,它会将我定向到“发布”网址。但是,问题是我得到了错误“这个网页有一个重定向循环”(网址有权利进入'post')。
重定向循环问题有什么解决方案吗?谢谢
【问题讨论】:
-
不要更改该过滤器。重定向是如果用户没有登录并且拥有
login就可以了。在我看来,您的会话或身份验证通常不起作用... -
如果我在 routes.php 中更改为“登录”,那么当我尝试在真实浏览器中登录时,它会将我引导到“登录”网址
-
登录后需要重定向到哪个页面?发布页面?
-
请将处理登录的控制器代码添加到您的问题中。谢谢
标签: loops authentication redirect laravel