安全性被禁用,为什么以及如何配置security.context?

时间:2015-02-10 23:59:31

标签: php symfony symfony-2.3

我使用Symfony 2.3并且我已经创建了一个custom user provider,到目前为止一切正常,除了以下消息显示:

Profiler photo

奇怪的是,例如在Twig,我能做到:

{{ app.user.username }}

它可以打印已登录用户的用户名。

我已在view跟踪了该邮件的打印情况,这是相应的controller

似乎使用SecurityDataCollector类型的参数初始化了类SecurityContextInterface,其值为$this->get('security.context', ContainerInterface::NULL_ON_INVALID_REFERENCE)

问题似乎是security.context不存在,我不知道如何设置安全上下文,在示例中他们没有设置它们。我该如何解决这个问题?

---- app / config / security.yml ----

security:
    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    encoders:
        Company\Shared\CompanyldapBundle\Security\User\ldapUser: plaintext

    providers:
        ldap_user_provider:
            id: ldap_user_provider

    firewalls:
        main:
            provider: ldap_user_provider
            pattern: ^/
            form_login:
                login_path:  login
                check_path:  login_check
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/(_(profiler|wdt)|css|images|js)/, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, role: ROLE_USER }

0 个答案:

没有答案