Symfony security.yml access_controls 多语言可选前缀

问题描述

我想在登录屏幕后保护我的页面的全部内容。我的目标是在英文页面前加上 (/en) 而不是在德文页面前加上前缀 (/)。

我的控制器注释看起来如此:

controllers:
   resource: ../../src/Controller/
   type: annotation
   prefix:
      en: '/en'
      de: ''

这是我的 security.yml 的一部分:

  access_control:
    - { path: '^/[^/]+/login$',role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: '^/[^/]+/logout$',role: ROLE_USER }
    - { path: '^/[^/]+/register$',role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: '^/[^/]+/reset-password$',role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: '^/[^/]+/',role: ROLE_USER }

使用该配置,受保护的内容仍然可供所有人使用。

尝试以下操作时,我收到重定向循环过多的重定向。

   - { path: ^/,role: ROLE_USER }

有人可以提供解决方案吗?我使用的是 Symfony 4.4 LTS。

最好的问候, 斯蒂芬

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...