Php 带有重定向循环的Laravel自定义管理筛选器
我有个愚蠢的问题。我的应用程序中有一个无休止的重定向。我明白为什么,但不知道该怎么解决这个问题 在my routes.php中,我有以下代码:Php 带有重定向循环的Laravel自定义管理筛选器,php,laravel,admin,Php,Laravel,Admin,我有个愚蠢的问题。我的应用程序中有一个无休止的重定向。我明白为什么,但不知道该怎么解决这个问题 在my routes.php中,我有以下代码: Route::filter('admin', function(){ if(Auth::user()->admin){ return Redirect::to(Route::current()->getPath()); }else{ return Redirect::to('/'); }
Route::filter('admin', function(){
if(Auth::user()->admin){
return Redirect::to(Route::current()->getPath());
}else{
return Redirect::to('/');
}
});
Route::when('admin/*', 'admin');
当我调用url
/admin/createNews
时,浏览器正在加载一段时间,并告诉我存在重定向。对我来说,这是合乎逻辑的,但我不知道在这里做什么。如果您的筛选器通过,执行流将继续到最初请求的路由,而不需要返回重定向。因此,解决方案是颠倒你的逻辑:
Route::filter('admin', function()
{
if( !(Auth::user()->admin) )
{
return Redirect::to('/');
}
});
啊。。。该死。这很有效。。。我认为过滤器需要在那里采取任何行动。谢谢兄弟!