作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我设置了我的安全设置来保护根路径下的所有内容 /
, 除了用于查看隐私政策的公共(public)页面,/privacy
.一切正常。
# security.yml
access_control:
- { path: ^/privacy$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_USER }
/privacy
至
/{_locale}/privacy
.不幸的是,我无法添加
_locale
像这样的安全路径的参数:
access_control:
...
- { path: ^/{_locale}/privacy$, role: IS_AUTHENTICATED_ANONYMOUSLY }
security.yml
这样我就可以添加
_locale
到路径并将其限制为预定义的语言,例如
(en|fr|es|de)
?
最佳答案
如果您的所有语言环境都是 2 个字符的( en|fr|es|de|...
),您可以使用更通用的正则表达式,如下所示:
- { path: '^/[a-z]{2}/privacy$', role: 'IS_AUTHENTICATED_ANONYMOUSLY' }
security.access_control
每次添加新语言环境时。
EN_en
形式的语言环境你可以使用这样的东西顺便说一句:
- { path: '^/[a-zA-Z]{2}_[a-zA-Z]{2}/privacy$', role: 'IS_AUTHENTICATED_ANONYMOUSLY' }
关于security - 如何将 _locale 参数添加到安全路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19786356/
我是一名优秀的程序员,十分优秀!