Symfony2在登录时设置用户角色

时间:2012-10-02 04:59:35

标签: authentication symfony symfony-2.1

我想使用单个表单登录普通用户和管理员,我在实体'isAdmin'上有一个标志。如果是管理员重定向到面板并设置ROLE_ADMIN,如果没有重定向到站点并设置ROLE_USER。

这是可能的,有其他方法可以做到吗?

2 个答案:

答案 0 :(得分:2)

这根本没有任何意义。您应该在注册时设置用户的角色而不是登录。

当用户登录时,您可以从数据库中检索其对象并获取role属性以决定要加载哪个视图。

答案 1 :(得分:1)

检查fosuserbundle的控制台命令,您可以使用ROLE_ADMIN“提升”用户。每次登录时,他都会自动为该角色分配。

它不会使用模型实体上的“isAdmin”标志,更有可能使用fosuserbundle本身提供的机制(事实上并没有深入研究)。

您也可以查看https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/groups.md