Laravel 如何添加过滤器全局、重定向,除非是路由

Laravel 如何添加过滤器全局、重定向,除非是路由,laravel,Laravel,我应该在哪里添加一个过滤器,如果用户登录,则重定向到路由,除非该路由是a或b 是否可以将此添加到: App::before(function($request) { // }); 这样我就不必在每条路线上都添加过滤器。。。如果我决定不去,也许会有一些,除非 Pseudo: if logged in if no "property" then if not on "route1", "route2" redirect App::before(

我应该在哪里添加一个过滤器,如果用户登录,则重定向到路由,除非该路由是a或b

是否可以将此添加到:

App::before(function($request) { // });
这样我就不必在每条路线上都添加过滤器。。。如果我决定不去,也许会有一些,除非

Pseudo:

if logged in
    if no "property" then
        if not on "route1", "route2"
            redirect


App::before(function($request) { 

    if (Confide:check()) {

        if (confide:user()->prop == false) {

           //redirect (UNLESS?)))

        }

    }

});

是的,您可以执行以下操作:

App::before(函数($request){
如果(信任:检查()){
if(confide:user()->prop==false){
如果(!在数组中(路由::getCurrentRoute()->getName(),数组('route1','route2'))
{
//重定向
}
}
}
});
无论如何,最好创建简单的路由并使用组对其进行筛选:

///无道具登录者的路由
路由::组(['before'=>'loggedInAndNoProp'],函数()
{
路由::get('admin',['as'=>'admin.index','uses'=>'AdminController@index']);
路由::get('admin/users',['as'=>'admin.users','uses'=>'AdminController@users']);
路由::get('admin/store',['as'=>'admin.store','uses'=>'AdminController@store']);
});
///未登录人员的路由(将在正常登录人员之前解决)
路由::get('route1',['as'=>'示例1','uses'=>'ExampleController@example1']);
路由::get('route2',['as'=>'示例2','uses'=>'ExampleController@example2']);
///已登录人员的路线(返回至他们)
路由::组(['before'=>'auth'],函数()
{
路由::get('/',['as'=>'管理员索引','使用'=>'HomeController@index']);
路由::get('users',['as'=>'admin.users','uses'=>'UsersController@users']);
路由::get('store',['as'=>'admin.store','uses'=>'StoreController@store']);
});
///主撤退路线,其他一切都到这一条了
路由::get({any?},['as'=>'示例3','uses'=>'ExampleController@example3']);