Symfony:没有身份验证的路由

时间:2014-03-29 15:14:45

标签: symfony

我的security.yml配置如下:

security: 
 <......> 

firewalls: 
    login_firewall: 
        pattern:    ^/auth/login$ 
        anonymous:  ~ 
    secured_area: 
        pattern:    ^/ 
        form_login: 
            check_path: login_check 
            login_path: login 
            always_use_default_target_path: false 
            target_path_parameter:          _target_path 
            use_referer:                    false 
        logout: 
            path:   /logout 
            target: / 
        #anonymous: ~ 
        #http_basic: 
        #    realm: "Secured Demo Area" 

access_control: 
    - { path: ^/auth/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/system/doit$, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/, roles: ROLE_USER } 
无需身份验证即可访问

/ auth / login - 工作正常 /只有在身份验证后才能访问 - 工作正常 / system / doit也应该无需身份验证即可访问 - 它不起作用,仍然会被重定向到登录页面。如何在没有登录的情况下获得/ system / doit访问?

1 个答案:

答案 0 :(得分:1)

您应该将anonymous: ~添加到secured_area

secured_area: 
    pattern:    ^/ 
    anonymous:  ~