Php 使用Laravel 4在管线组上添加更多过滤器选项

Php 使用Laravel 4在管线组上添加更多过滤器选项,php,rest,routes,laravel,laravel-4,Php,Rest,Routes,Laravel,Laravel 4,我正在使用postmarkapp的入站服务通过网络钩子接收JSON格式的电子邮件。 在我的例子中,我有一个EmailController,它接受HTTP POST来存储邮件 其设置如下: Route::group(array('before' => 'auth'), function() { Route::resource('emails', 'EmailController'); }); 我需要路由组不筛选与控制器上的存储操作相关的帖子。 我试过使用: array('befor

我正在使用postmarkapp的入站服务通过网络钩子接收JSON格式的电子邮件。 在我的例子中,我有一个EmailController,它接受HTTP POST来存储邮件

其设置如下:

Route::group(array('before' => 'auth'), function()
{
    Route::resource('emails', 'EmailController');
});
我需要路由组不筛选与控制器上的存储操作相关的帖子。 我试过使用:

array('before' => 'auth', 'except' => 'post')
array('before' => 'auth', 'except' => 'store')
所以我真的不知道该在哪里做。可能在过滤器里? 另外,在执行异常时是否使用操作名或HTTP动词

作为额外费用: 我也不完全喜欢像那样向所有人开放路线行动。关于如何确保只有邮戳应用程序发布在那里,有什么想法吗


谢谢

创建您自己的过滤器,并为其添加适当的逻辑。例如:

Route::get('test', ['before' => 'foo']);

Route::filter('foo', function($route, $request) {

    if ($request->getClientIp() === 'xxx.xxx.xxx.xxx')
    {
            //...
    }

    if ($request->getMethod() === 'POST'))
    {
            //...
    }

});
```


还可以为更复杂的过滤器创建过滤器类。阅读中的部分。

我不确定,但也许你可以将与帖子相关的路线放在小组之外?