我正在使用带有FOSUserBundle的Symfony2框架。
我正在尝试允许匿名用户访问注册确认页面,以验证自己的电子邮件。
因此,在我的访问控制列表中,我有以下条目。
access_control:
- ...
- { path: ^/register/confirm, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: ROLE_ADMIN }
- ...
请注意,只有管理员才能输入用户(在我的情况下无法免费注册)。
但是,这不是很灵活。是否可以使用路由 ID 来标识要保护的路径?换句话说,就我而言,是否有可能拥有这样的东西?
access_control:
- ...
- { path: fos_user_registration_confirm, role: IS_AUTHENTICATED_ANONYMOUSLY }
- ...
提前感谢您的帮助。
不,你不能。你提出的第一种方法是正确的,我认为它相当灵活。只要每个项目只有一个security.yml
文件,那么在重新定义路由时对它进行一些更改并不算什么工作。