使用Symfony 2可以在特定的URL前缀下创建安全区域。例如,您可以将成员区域设置在“成员”前缀下,如下所示:
www.site.co.uk/members
www.site.co.uk/members/edit
www.site.co.uk/members/settings
可以使用/
作为前缀将整个应用程序置于防火墙之外,而不是这样做吗?因此,公众可见的唯一页面是登录页面和注册页面。
任何未登录的访问www.site.co.uk
的人都会看到登录页面。登录后,访问www.site.co.uk
会显示应用的主页。两个页面都在相同的路径下(/
),您只会看到一个或另一个,具体取决于您是否登录。
此时将我的防火墙模式设置为/
会导致重定向循环,因为我的登录表单(位于主页路径'/'下方)位于防火墙后面。
如何实现上述登录流程?开箱即可吗?
由于
答案 0 :(得分:0)
为什么没有人阅读有关访问控制的部分?
security:
firewalls:
main:
pattern: ^/
# other settings
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_USER }