简体   繁体   English

Symfony2和匿名防火墙

[英]Symfony2 and anonymous firewall

I have a site running with Symfony2 which requires a login. 我有一个使用Symfony2运行的网站,需要登录。 There's a firewall set like that : 有这样的防火墙设置:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
    admin:
        pattern:    ^/
        entry_point: security_user.authentication.entry_point
        ntlm: ~
        fr3d_ldap:  ~
        form_login:
            check_path: /login_check
            login_path: /login
            #always_use_default_target_path: true
            use_referer: true
            success_handler: security_user.login.success_handler
            default_target_path: /
        logout:
            path:   /logout
            target: /
            success_handler: security_user.logout.handler
            invalidate_session: true
        anonymous:  ~

I'd like to open access to specific pages without login. 我想在不登录的情况下打开对特定页面的访问权限。 I tried adding that firewal : 我试图添加firewal:

    my_firewall:
        context: my_context
        pattern: ^/url-to-open.*$
        anonymous: true

But I still get redirected to the login page. 但是我仍然被重定向到登录页面。 What am I missing ? 我想念什么? Thanks 谢谢

You don't need a new firewall but to set access_control. 您不需要新的防火墙,而需要设置access_control。 In the following exemple all routes wich path contains "/some_path" expression can be reach by unauthenticated users. 在以下示例中,未经身份验证的用户可以访问包含“ / some_path”表达式的所有路由。 You should have to Symfony doc about Security and How access_controll works 您应该必须获得有关安全性access_controll的工作原理的 Symfony文档

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
    admin:
        pattern:    ^/
        entry_point: security_user.authentication.entry_point
        ntlm: ~
        fr3d_ldap:  ~
        form_login:
            check_path: /login_check
            login_path: /login
            #always_use_default_target_path: true
            use_referer: true
            success_handler: security_user.login.success_handler
            default_target_path: /
        logout:
            path:   /logout
            target: /
            success_handler: security_user.logout.handler
            invalidate_session: true
        anonymous:  ~

access_control:
        - { path: /some_path, role: IS_AUTHENTICATED_ANONYMOUSLY }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM