有没有一种方法可以检查请求的标头是否具有键值,然后与存储在env中的另一个值进行比较,然后给出访问权限?
注意:我想在security.yml中的防火墙内完成此操作。
类似于文档中的“防护身份验证”,但我不需要所有这些方法(getCredentials,getUser等...)
答案 0 :(得分:1)
我认为您正在寻找kernel controller filter,然后可以解析请求的标头并搜索所需的参数。对于env var,您可以将其设置为以下参数
//services.yaml
parameters:
your_variable: '%env(YOUR_ENV_VARIABLE)%'
然后从service container调用它
$var = $container->getParameter('your_variable');
最后,您可以在控制器操作中使用voter来允许/拒绝访问