Symfony 2 Użytkownicy FOS UserBundle nie otrzymują roli grupy

Używam Pakietu użytkownika FOS do zarządzania dostępem do mojej aplikacji. Ponieważ potrzebuję pojęcia grupy, zaimplementowałem to, czego potrzebuję, jak opisano w dokumencieGrupa .

Wszystko jest w porządku do tworzenia użytkowników i grup ALE, gdy loguję się do użytkownika i próbuję uzyskać jego rolę, nie ma on nikogo oprócz USER_ROLE.

Oto mój użytkownik

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;
 [...]
}

Oto moja klasa w grupie

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

[...]
}

Mój użytkownik nie ma żadnych ról ustawionych w tabeli RegistredUser, ale został ustawiony identyfikator grupy. Ta grupa ma rolę ROLE_ADMIN.

W moim układzie próbuję sprawdzić rolę w ten sposób:

    {% 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 %}

Ale Symfony niczego nie wyświetla.

Czy używam złej funkcji do sprawdzania ról grupowych? Czy robię coś innego źle?

Rozwiązaniem jest uzyskanie grup_role przez

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

Ale czy jest jakiś inny sposób na to?

questionAnswers(1)

yourAnswerToTheQuestion