【发布时间】:2016-08-01 15:58:57
【问题描述】:
我使用 Symfony 3,但在 app/config/security.yml 中使用 access_control 时遇到问题。
我安装了 FOSUserBundle,发现当用户具有角色IS_AUTHENTICATED_ANONYMOUSLY 时,路由 /login /resetting 和 /register 仍然可用。我使用the documentation 中解释的基本配置,但它不起作用:
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
错误是否有可能来自另一个文件?我花了一周的时间寻找答案,但我不知道问题出在哪里。另外,我尝试从头开始在另一个项目上重新安装 Symfony,只是为了尝试使用全新的配置,但发生了同样的错误。
感谢您的帮助!
【问题讨论】:
-
默认情况下,路由
/login、/resetting和/register即使在登录状态下也是可用的。你说收到什么错误? -
我没有收到任何错误,我可以成功登录,但是我仍然可以访问这些路由,并且用户名显示在表单上方,并带有一个注销链接。也就是说,我可以重新登录……
-
到底是什么问题?听起来没有任何问题,因为您说设置为匿名时可以访问这些路由,这是正确的...
-
也许我的英语有点混乱,因为我是法国人。我的意思是当我登录时我应该无法访问那些路由。我还附上了一个截图给你看。
标签: php security routes fosuserbundle symfony