5

如何使用语言环境保护操作 - 这在 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 }

我用正则表达式阅读了一篇文章:^/[az]+/account/secured/。但它不起作用。知道如何使用语言环境保护区域。我在这里找到了一些帖子,但它们都不起作用。

谢谢!!!

4

2 回答 2

3

如果您只有两个语言环境:

- { path: ^/(en|de)/account/secured/, roles: ROLE_ADMIN }
于 2013-10-22T12:32:41.463 回答
1

YoannCh 的回答也是正确的。

你不应该{_locale}用一个%_locale%或替换%locale%

于 2013-10-22T12:47:11.503 回答