Symfony 2.3 根据实体的角色登录应用程序

Symfony 2.3 根据实体的角色登录应用程序,symfony-2.3,Symfony 2.3,我有一个具有角色(ROLE_ADMIN,…)的用户类和一个类组,它们之间的关系是: 组(OneToMany)--用户(多通)。 我删除了要放入Group类的User类的属性“role”,因此Group类包含这些角色 当我在表单上创建用户时 (表单包含一个chexbox,用于派生具有不同角色的组类,在数据库中一切正常,组id在用户表中) 我正在尝试将我与此用户连接,但我收到一个错误: “可捕获的致命错误:参数传递4到Symfony\Component\Security\Core\Authentic

我有一个具有角色(ROLE_ADMIN,…)的用户类和一个类组,它们之间的关系是: 组(OneToMany)--用户(多通)。 我删除了要放入Group类的User类的属性“role”,因此Group类包含这些角色

当我在表单上创建用户时

(表单包含一个chexbox,用于派生具有不同角色的组类,在数据库中一切正常,组id在用户表中)

我正在尝试将我与此用户连接,但我收到一个错误:

“可捕获的致命错误:参数传递4到Symfony\Component\Security\Core\Authentication\Token…”

由于组id与唯一角色匹配,如何根据实体组(组id)的标识符进行连接


提前谢谢。(请原谅我的英语)

也许你应该在你的用户实体方法中创建getRoles,它根据你对组的分配返回你的所有角色 诸如此类:

public function getRoles()
{
     $roles = array();
     foreach ($this->getGroups() as $group) {
           foreach($group->getRoles() as $role)
                  $roles[] = $role;
     }
     return $roles;
}

您的用户实体muest返回用户角色数组-界面需要它

为什么您要通过$group->getRoles()创建并返回相同的数组?