我正在使用FOSRestBundle构建我的API,但我陷入了我需要的东西中间,每个API路由都应包含一个默认参数,一个用于检查权限的API密钥,但我不想把它放在我的API上的每一个动作上因为我不打算在我的控制器上使用它,我只是用来验证用户。
所以我想知道我是否可以自动生成那些创建某种通用路由的路由,所有路由都为该特定路由继承。
为了澄清事情,我将提出一些我想要的例子:
我在我的控制器上有这个动作:
public function getSomethingAction($apiKey)
{
//My logic goes here
}
所以捆绑产生的路线是:
/api/somethings/{apiKey}
但是在这一点上,apikey参数已经被使用了,所以我不想要那里,但如果我不把这个参数放在方法中,我会得到:
/api/somethings
我希望这些例子能够澄清我想要实现的目标。
提前感谢我得到的每一个答案。
此致
维克托
答案 0 :(得分:0)
我认为您应该重新考虑在资源网址中提供API密钥。我建议通过HTTP标头提供API密钥"授权"并按照以下文档中的描述实现自定义Symfony身份验证器:
http://symfony.com/doc/current/cookbook/security/api_key_authentication.html