我正在使用 Symfony 4.1。 我正在尝试根据“dev”/“prod”环境允许/拒绝一条路由。
我尝试为每个环境定义不同的security
配置文件,但我不允许。加载 Symfony 缓存时会显示以下消息:
配置路径“security.access_control”不能被覆盖。您必须在一个配置节中定义该路径及其任何子路径的所有选项。
这是我的安全部分:
security:
access_control:
- { path: '^/$' , roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: '^/ping$' , roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: '^/docs\.json$' , roles: IS_AUTHENTICATED_ANONYMOUSLY }
我想在 dev
环境中允许(无需身份验证)docs.json
路由,并限制(通过身份验证)docs.json
prod
环境中的路由。
关于如何做到这一点有什么想法吗?
最佳答案
使用 Symfony ExpressionLanguage 组件,您可以尝试在注释或用于定义路由的任何内容中添加 condition: "'%kernel.environment%' === 'dev'"
。
关于php - 如何根据 Symfony 4 中的 "dev/prod"环境允许/拒绝路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531273/