php - 如何根据 Symfony 4 中的 "dev/prod"环境允许/拒绝路由?

标签 php symfony access-control

我正在使用 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/

相关文章:

php - 使用 php 编码 csv 文件

php - 包含在 PHP 中的路径问题

swift - Swift 4 中的 private 和 fileprivate 有什么区别

c - 如何在 SQLite 中启用访问控制?

php - Nestable List 插件 PHP MYSQL L Json 树结构

php - 如何更新 Doctrine 中的字段以将其设置为空

php - Symfony 2.5 中的 FOSBundle View 不会被自定义 View 覆盖

php - Twig_Error_Syntax : Unknown "template_from_string" function. 函数已过时?

php - 使用 PHPUnit 发送 POST 请求

c++ - 嵌套类的类内 friend 是否可以访问外部类成员?