许多重定向登录security.yml

时间:2014-01-26 22:05:15

标签: security symfony authentication

我有那个代码。但是当我进入浏览器app_dev.php / login时 浏览器说:页面重定向太多了

security.yml 安全:     编码器:         Symfony \ Component \ Security \ Core \ User \ User:plaintext

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

providers:
    user_db:
        entity: { class: DotfusionMerlinBundle:User, property: username }

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

    secured_area:
        pattern:  ^/
        anonymous: ~
        form_login:
            check_path: /login_check
            login_path: /login
        logout:
            path:   login
            target: login
        #anonymous: ~
        #http_basic:
        #    realm: "Secured Demo Area"

access_control:
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

的routing.yml

login:
    pattern:  /login
    defaults: { _controller: DotfusionMerlinBundle:User:login }

login_check:
    pattern:  /login_check

2 个答案:

答案 0 :(得分:5)

在secured_area条目之前在防火墙下弹出:

login_firewall:
    pattern: ^/login$
    anonymous: ~

那应该可以解决你的问题。希望有所帮助。

答案 1 :(得分:0)

在我必须为其进行部署的应用程序中出现了相同的错误,并且在security.yml文件中也存在该错误,但设置不同:

我不得不换行:

access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: http }

至:

access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

因为我使用https进行了部署。 (在访问控制配置中将http更改为https