Symfony防火墙检查头中的密钥

时间:2020-07-14 15:08:58

标签: symfony symfony-security

有没有一种方法可以检查请求的标头是否具有键值,然后与存储在env中的另一个值进行比较,然后给出访问权限?

注意:我想在security.yml中的防火墙内完成此操作。

类似于文档中的“防护身份验证”,但我不需要所有这些方法(getCredentials,getUser等...)

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找kernel controller filter,然后可以解析请求的标头并搜索所需的参数。对于env var,您可以将其设置为以下参数

//services.yaml
parameters:
    your_variable: '%env(YOUR_ENV_VARIABLE)%'

然后从service container调用它

$var = $container->getParameter('your_variable');

最后,您可以在控制器操作中使用voter来允许/拒绝访问