Hola, tengo el siguiente inconveniente con FOSUserBundle en Symfony 2.7
Mi aplicacion tiene las siguientes tablas:
- Persona: Aqui se guarda la información personal, ID, NOMBRES, GENERO ETC..
- User: Aqui se le asigna a la persona el acceso a la aplicación, USERNAME, PASSWORD
- Group: Información sobre el grupo y los roles que este tiene.
- UserGroup: Donde se guarda la Persona su grupo y/o Sus datos de acceso (User)
Lo que deseo hacer es: Una persona puede tener un Rol pero no Acceso, puede ser un Estudiante pero no se le crean los datos de acceso a la aplicación, por eso he intentado lo siguiente:
El Problema: cuando me logeo el sistema no me toma los roles del grupo, unicamente el que le asigno al usuario
lo que realizado es, Crear una Entity llamada UserGroup, para poder añadir el campo adicional que nesecito persona_id.
Estas son mis entidades:
Persona:
Persona Entity
class Persona
{
/**
* GRUPOS
* @ORM\OneToMany(targetEntity="SeguridadBundle\Entity\Usergroup", mappedBy="persona", cascade={"persist", "remove"})
*/
private $grupos;
}
User:
User Entity
/**
* User
*
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* GRUPOS
* @ORM\OneToMany(targetEntity="SeguridadBundle\Entity\UserGroup", mappedBy="cuenta", cascade={"persist", "remove"})
*/
private $grupos;
}
Group
Group Entity
/**
* @ORM\Entity
* @ORM\Table(name="fos_group")
*/
class Group extends BaseGroup
{
/**
* GRUPOS
* @ORM\OneToMany(targetEntity="SeguridadBundle\Entity\UserGroup", mappedBy="grupo", cascade={"persist", "remove"})
*/
private $grupos;
}
UserGroup
UserGroup Entity
/**
* User
*
* @ORM\Entity
* @ORM\Table(name="usuario_grupo")
*/
class UserGroup
{
/**
* @ORM\ManyToOne(targetEntity="PrestamoBundle\Entity\Persona", inversedBy="grupos")
* @ORM\JoinColumn(name="persona_id", referencedColumnName="id")
*/
private $persona;
/**
* @ORM\ManyToOne(targetEntity="SeguridadBundle\Entity\User", inversedBy="grupos")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $cuenta;
/**
* @ORM\ManyToOne(targetEntity="SeguridadBundle\Entity\Group", inversedBy="grupos")
* @ORM\JoinColumn(name="group_id", referencedColumnName="id")
*/
private $grupo;
}
Llevo unos días intentando solucionarlo y no me ha sido posible, Agradezco si me pueden ayudar u orientar en este tema!