Laravel 4 - 基于模式的过滤器?

时间:2013-08-22 15:28:06

标签: laravel laravel-4

我有以下过滤器:

Route::filter('security', function()
{
   //do security checks
   //send to my gateway controller and test() method

});

Route::when('/gateway', 'security');

以上似乎不起作用,我哪里错了?

  1. 我应该在过滤器中添加什么来在我的网关控制器中加载我的测试方法?

  2. 如何使用以下方法测试该调用是否为ajax调用:

    支持:: AJAX()

1 个答案:

答案 0 :(得分:0)

为了使此代码有效,您需要创建路由/gateway

Route::filter('security', function()
{
    if(Request::ajax()) 
    {
        //do security checks
        return Redirect::action('GatewayController@test');
    }

});
Route::when('gateway', 'security');
Route::get('/gateway', 'GatewayController@test');

请注意,/中已删除斜杠Route::when('/gateway', 'security');。 这是因为路由器在根据当前请求的路径信息检查注册的模式时添加了斜杠