Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有重定向循环的Laravel自定义管理筛选器_Php_Laravel_Admin - Fatal编程技术网

Php 带有重定向循环的Laravel自定义管理筛选器

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('/'); }

我有个愚蠢的问题。我的应用程序中有一个无休止的重定向。我明白为什么,但不知道该怎么解决这个问题

在my routes.php中,我有以下代码:

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('/');
    }
});

啊。。。该死。这很有效。。。我认为过滤器需要在那里采取任何行动。谢谢兄弟!