FOSUserBundle组角色设置

我正在使用FOSUserBundle和组选项。 注册工作。 组的创建也起作用。 如果我创建了2个组,管理员和客户端,然后手动向fos_group表中的管理组添加a:1:{i:0; s:10:“ROLE_ADMIN”;},然后在fos_user_user_group中MANULLY设置和条目,用户加入管理员组,使用该用户登录将能够以管理员身份登录。

然而,这种方法显然有一些缺点。 我现在可以使用什么将用户添加到组? 使用升级命令行选项只会将该角色添加到该用户,但添加到fos_user表中,而且由于我使用的是组,我怀疑fos_user表的角色列不再使用。 如果它仍然有用处,我如何以编程方式将用户分配给组?

我的另一个大问题是我如何将角色分配给组。 也许我没有得到关于整个团体的想法,但我希望能够在创建时添加一个组的角色,但“新”形式只需要组名称,并且不会似乎不存在用于组的用户升级命令的等同物。

谢谢。


如何以编程方式将用户分配到组?

$user->addGroup($group);

由于您使用的是FOSUserBundle,因此您的用户实体会扩展实现GroupableInterface FOSUserBundleModel 。 所以你的用户类已经有组方法getGroups, hasGroup($name), addGroup(GroupInterface $group), removeGroup(GroupInterface $group) 。 参考看这里https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Model/User.php

我如何将角色分配给组?

$em = $this->getDoctrine()->getEntityManager();

$group = new Group();
$group->setRoles(array());
$group->addRole('ROLE_ACTOR');
$em->persist($group);
$em->flush();

你必须自己实现角色分配,fosuserbundle没有为此预定义的表单。

链接地址: http://www.djcxy.com/p/91679.html

上一篇: FOSUserBundle group role setup

下一篇: Symfony2: How to build multiple registration forms with FOSUserBundle