系统分析器让我用户登录但未经过身份验证

时间:2013-03-20 15:03:57

标签: security authentication symfony login symfony-2.1

我以为我终于能够使用Symfony 2正确管理登录了。但是当我在登录后重定向到另一个页面时,System Profiler会回复用户已登录但未经过身份验证的角色:{{ 1}}。

但是,如果我回到登录页面,我正确地说用户已登录,经过身份验证并具有以下角色:ROLE_USER

我希望这是一个愚蠢的错误,因为我最近开始使用Symfony。 希望有人已经遇到过这个问题?任何人都可以帮助我吗?

修改1 : 这是我的security.yml

ROLE_USER

1 个答案:

答案 0 :(得分:0)

尝试:

jms_security_extra:
    secure_all_services: false
    expressions: true

security:
    encoders:
        Wearplay\UserBundle\Entity\User: 
            algorithm:        sha1
            encode_as_base64: false
            iterations:       1

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER

    providers:
        user:
            entity: { class: WearplayUserBundle:User }

    firewalls:
        login_firewall:
            pattern: ^/login$
            anonymous: ~ 
        main_firewall:
            pattern:  ^/
            provider: user
            form_login:
                check_path: /login_check
                login_path: /login
                default_target_path: /home
            remember_me:
                key:      "%secret%"
                lifetime: 2232000 
                path:     /
                domain:   ~ 
            logout:
                path:   /logout
                target: /home

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