从环境变量设置access_control设置时出现类型问题

时间:2019-09-12 06:36:20

标签: symfony4 symfony-security

我正在设置ip和port以限制symfony中的某些路由,并通过环境变量传递ip和port设置,如下所示:

.env.local

AC_API_IP="127.0.0.1"
AC_API_PORT=8080 

services.yaml

parameters:
    ac.api.ip:  '%env(AC_API_IP)%'
    ac.api.port:  '%env(int:AC_API_PORT)%'

security.yaml

access_control:
    - { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: '%ac.api.ip%' , port: '%ac.api.port%'}
    - { path: ^/api, roles: ROLE_NO_ACCESS }

哪个无法正常工作并得到以下类型错误:

  

参数4传递给   Symfony \ Bundle \ SecurityBundle \ DependencyInjection \ SecurityExtension :: createRequestMatcher()   必须为整数或null类型,给定的字符串

我也没有运气尝试过这个

access_control:
    - { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: '%ac.api.ip%' , port: '%env(int:AC_API_PORT)%'}
    - { path: ^/api, roles: ROLE_NO_ACCESS }

0 个答案:

没有答案