Symfony2 auth被拒绝,getToken() - > getRoles()与getToken()不同 - > getUser() - > getRoles()

时间:2012-12-29 18:06:29

标签: symfony

我正在使用FOSUserBundle管理用户,现在我正在尝试使用JMS \ SecurityExtraBundle保护一些控制器操作。我已在我的用户上设置了ROLE_SUPER_USER并使用@Secure(roles="SUPER_ADMIN")保护了一个方法,但我并没有对此方法进行调用。

在深入研究Symfony2的代码之后,我想我已经将问题追溯到getToken()->getRoles()仅返回ROLE_USERgetToken()->getUser()->getRoles()正确返回用户角色的事实,包括ROLE_SUPER_USER

那么可能会发生什么?

1 个答案:

答案 0 :(得分:0)

HAHA

我错过了这些台词:

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

因此Context使用的是只有USER_ROLE

的默认用户类