Symfony 2安全性 - 没有前缀下的安全区域

时间:2013-08-11 17:27:42

标签: php symfony symfony-2.3

使用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会显示应用的主页。两个页面都在相同的路径下(/),您只会看到一个或另一个,具体取决于您是否登录。

此时将我的防火墙模式设置为/会导致重定向循环,因为我的登录表单(位于主页路径'/'下方)位于防火墙后面。

如何实现上述登录流程?开箱即可吗?

由于

1 个答案:

答案 0 :(得分:0)

为什么没有人阅读有关访问控制的部分?

security:
    firewalls:
        main:
            pattern: ^/
            # other settings
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, role: ROLE_USER }