Os usuários do Symfony 2 FOS UserBundle não recebem o papel do grupo

Estou usando o FOS User Bundle para gerenciar o acesso ao meu aplicativo. Como eu preciso de uma noção de grupo, eu implementei o que eu preciso como descrito no documentogrupo .

Tudo está bem para criar usuários e grupos, mas quando eu estou logando com um usuário, e tentando obter o seu papel, ele não tem nenhum, mas USER_ROLE.

Aqui está meu usuário

use FOS\UserBundle\Entity\User as BaseUser;
class RegistredUser extends BaseUser
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @ORM\ManyToOne(targetEntity="myBundle\Entity\RegistredUserGroup")
 */
protected $group;
 [...]
}

Aqui está minha turma do grupo

use FOS\UserBundle\Entity\Group as BaseGroup;
class RegistredUserGroup extends BaseGroup
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

[...]
}

Meu usuário não tem nenhuma função definida na tabela RegistredUser, mas tem um groupId configurado. Este grupo tem o papel ROLE_ADMIN.

No meu layout, eu tento verificar o papel assim:

    {% if is_granted('ROLE_ADMIN') %}
    <dl class="menuIcon">
                    <dd><img src="{{ asset('bundles/bundle/images/user.png') }}" alt=""></dd>
                    <dd>{{ "menu.gererReferentiel"|trans }}</dd>
                    </dl>
    {% endif %}

Mas o Symfony não exibe nada.

Estou usando uma função ruim para verificar os papéis do Groupe? Ou estou fazendo outra coisa errada?

Uma solução está recebendo groups_role por

{% if app.user != null and  app.user.group.hasRole('ROLE_ADMIN') %}

Mas existe alguma outra maneira de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion