Symfony 2.5:每次调用页面时身份验证失败

时间:2014-08-28 06:25:19

标签: php symfony authentication

我已将symfony 2.0项目更新为2.5,现在我遇到了一些身份验证问题:

提交用户名和密码后,我通过了身份验证。如果我按照安全区域中的链接或如果我刷新当前页面,我会收到此错误:

There is no user provider for user "XXX\AccountBundle\Entity\Worker".

再次刷新后,我通过了身份验证。 下次刷新后我不是。 再次刷新后,我通过了身份验证。 等等...

这是我的security.yml:

security:
encoders:
    XXX\AccountBundle\Entity\Worker:
        algorithm:   sha1
        iterations: 1
        encode_as_base64: false

role_hierarchy:
    ROLE_ACCOUNT_OWNER:       [ROLE_USER]

providers:
    users:
        entity: { class: XXXAccountBundle:Worker, property: email }

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

    application:
        pattern:    ^/
        anonymous:  ~
        form_login:
            login_path: /login
            check_path: /login_check
            default_target_path: /dashboard
            use_referer:        true
        remember_me:
            key:      "%secret%"
            lifetime: 31536000 # 365 days in seconds
            path:     /
            domain:   ~ # Defaults to the current domain from $_SERVER
        logout:
            path:   /logout
            target: /

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

如果我删除了“记住我”部分,我会在第一次请求后退出。

1 个答案:

答案 0 :(得分:0)

因为每次调用都出现了身份验证问题,所以我有充分的理由检查用户对象的可序列化内容。那里的一切都很好,但我不得不重新实现用户加载的UserRepository类中的一些自定义函数。

由于错误消息,我在错误的地方搜索了几个小时。我的security.yml设置很好。

现在验证过程再次起作用:)