我正在使用 FOSUserBundle 来管理用户,现在我正在尝试使用 JMS\SecurityExtraBundle 来保护一些控制器操作。我已经设置ROLE_SUPER_USER了我的用户并保护了一个方法,@Secure(roles="SUPER_ADMIN")但我无权调用该方法。
在深入研究 Symfony2 的代码之后,我想我已经将问题追溯到getToken()->getRoles()仅返回ROLE_USER而getToken()->getUser()->getRoles()正确返回用户角色的事实,包括ROLE_SUPER_USER.
那么那里会发生什么?