安全区域与当地

时间:2013-10-22 09:07:56

标签: regex symfony symfony-2.3

如何使用语言环境保护操作 - 这在symfony1.4中非常简单。我现在使用symfony2.3:

我的security.yml:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  frontend_account_login
        security: false


    secured_area:
        pattern:    ^/
        anonymous: ~
        http_basic:
            realm: "Secured Demo Area"
        form_login:
            check_path: frontend_account_security_check
            login_path: frontend_account_login
            use_referer:        true
            default_target_path: frontend_account_hello
        logout:
            path:   /logout
            target: frontend_account_login            #anonymous: ~
        #http_basic:
        #    realm: "Secured Demo Area"

access_control:
    #This works:
    - { path: ^/de/account/secured/, roles: ROLE_ADMIN }
    - { path: ^/en/account/secured/, roles: ROLE_ADMIN } 
    #I want it kind of that way
    - { path: ^/{_locale}/account/secured/, roles: ROLE_ADMIN }

我用regex阅读帖子:^ / [a-z] + / account / secured /。但它不起作用。知道如何使用语言环境保护区域。我在这里发现了一些帖子,但它们都不起作用。

感谢!!!

2 个答案:

答案 0 :(得分:3)

如果您只有两个区域设置:

- { path: ^/(en|de)/account/secured/, roles: ROLE_ADMIN }

答案 1 :(得分:1)

YoannCh的回答也是正确的。

不应该用{_locale}%_locale%

替换%locale%