Fosuser bundle - 为用户设置角色
Fosuser bundle - setting role to user
我想为用户设置角色。我正在使用以下代码:
$user = this->getDoctrine()->getRepository('BlogBundle:User')->findOneById('11');
$em = $this->getDoctrine()->getManager();
$t=array('ROLE_ADMIN');
$user->setRoles($t);
$em->persist($user);
$em->flush();
return new Response('okk');
当我设置 'ROLE_ADMIN' 时一切正常,但是当我设置 'ROLE_USER' 时数据库单元格为空。为什么?
提前感谢您的帮助。
在 FOS User Bundle 中,所有用户都具有 ROLE_USER
角色。 add/save 这个角色是多余的。
如果您在 FOSUserBundle 的代码库中查找它,该角色在 UserInterface
class.
中别名为 ROLE_DEFAULT
您的用户 table 中的角色列应该有
a:0:{}
对于只有角色 ROLE_USER
的用户
检查 .
的编程方式
检查用户是否具有特定角色(包括 ROLE_USER)
if ($this->get('security.context')->isGranted('ROLE_USER')) {
// the user has the ROLE_USER role
}
还有
$user->getRoles()
还有一种方法可以仔细检查用户是否真的有 ROLE_USER
php app/console fos:user:promote
出现提示时,输入用户名,然后输入 ROLE_USER
应该说明
User "example@example.com" did already have "ROLE_USER" role.
我想为用户设置角色。我正在使用以下代码:
$user = this->getDoctrine()->getRepository('BlogBundle:User')->findOneById('11');
$em = $this->getDoctrine()->getManager();
$t=array('ROLE_ADMIN');
$user->setRoles($t);
$em->persist($user);
$em->flush();
return new Response('okk');
当我设置 'ROLE_ADMIN' 时一切正常,但是当我设置 'ROLE_USER' 时数据库单元格为空。为什么?
提前感谢您的帮助。
在 FOS User Bundle 中,所有用户都具有 ROLE_USER
角色。 add/save 这个角色是多余的。
如果您在 FOSUserBundle 的代码库中查找它,该角色在 UserInterface
class.
ROLE_DEFAULT
您的用户 table 中的角色列应该有
a:0:{}
对于只有角色 ROLE_USER
检查 .
的编程方式检查用户是否具有特定角色(包括 ROLE_USER)
if ($this->get('security.context')->isGranted('ROLE_USER')) {
// the user has the ROLE_USER role
}
还有
$user->getRoles()
还有一种方法可以仔细检查用户是否真的有 ROLE_USER
php app/console fos:user:promote
出现提示时,输入用户名,然后输入 ROLE_USER
应该说明
User "example@example.com" did already have "ROLE_USER" role.