Symfony2身份验证被拒绝和getToken()->;getRoles()与getToken()不同->;getUser()->;getRoles()

Symfony2身份验证被拒绝和getToken()->;getRoles()与getToken()不同->;getUser()->;getRoles(),symfony,Symfony,我正在使用FOSUserBundle来管理用户,现在我正在尝试使用JMS\SecurityExtraBundle来保护一些控制器操作。我已在我的用户上设置了ROLE\u SUPER\u USER,并使用@Secure(roles=“SUPER\u ADMIN”)保护了一个方法,但我不允许调用该方法 在深入研究Symfony2的代码之后,我想我已经找到了一个问题,即getToken()->getRoles()只返回ROLE\u USER,而getToken()->getUser()->getRol

我正在使用FOSUserBundle来管理用户,现在我正在尝试使用JMS\SecurityExtraBundle来保护一些控制器操作。我已在我的用户上设置了
ROLE\u SUPER\u USER
,并使用
@Secure(roles=“SUPER\u ADMIN”)
保护了一个方法,但我不允许调用该方法

在深入研究Symfony2的代码之后,我想我已经找到了一个问题,即
getToken()->getRoles()
只返回
ROLE\u USER
,而
getToken()->getUser()->getRoles()
正确返回用户角色,包括
ROLE\u SUPER\u USER

那么那里会发生什么呢?

哈哈

我漏掉了几行:

providers:
            main:
                entity: { class: FM\SymSlateBundle\Entity\User, property: username }
在security.yml中:

security:
    providers:
        main:
            entity: { class: FM\SymSlateBundle\Entity\User, property: username }
        fos_userbundle:
            id: fos_user.user_provider.username
因此,上下文使用的是默认用户类,该类只具有user_角色