【问题标题】:FOSUserBundle: User doesn't get roles of groupFOSUserBundle:用户没有获得组的角色
【发布时间】:2014-09-04 06:08:25
【问题描述】:

我正在使用 symfony 2.5 并尝试检查用户是否具有特定角色。表在数据库中设置正确,数据也正确插入:

在数据库中存在一个用户test@example.com,其映射组admin定义了角色a:1:{i:0;s:10:"ROLE_ADMIN";}

我不知道为什么角色没有正确读取。调试工具栏告诉我,我只被验证为ROLE_USER

代码:

$securityContext = $this->container->get('security.context');    
$securityContext->isGranted('ROLE_ADMIN');

if ($securityContext->isGranted('ROLE_ADMIN')) {
    echo 'crazy coding magic happens here';
}

我发现这个问题 (Symfony 2 FOS UserBundle users doesn't get group's role) 似乎与我的问题有关,但我对答案不满意,因为我不想检查组访问权限,而是检查角色访问权限。在我的案例中,组权限将来可能会发生变化。

感谢您的帮助!

【问题讨论】:

    标签: symfony fosuserbundle


    【解决方案1】:

    好的 - 看来我自己找到了解决方案。

    问题是您必须注销已登录的用户并再次登录才能识别组角色映射中的更改。

    上面的代码是正确的,在用户再次登录后分配了正确的角色。

    【讨论】:

      猜你喜欢
      • 2012-08-16
      • 2015-05-18
      • 2014-11-09
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 2012-06-02
      相关资源
      最近更新 更多