(对不起,我的英语不好)
我需要创建不同类型的用户,为每个用户提供特定的配置。请注意,我知道PUGXMultiUserBundle和FOSUserBundle的存在,但我想知道我是否真的需要使用此捆绑包。
我需要 3 种类型的用户:
-
超级管理员:在后端登录并不受限制地访问所有数据。将只有一个,不再。可以创建新的"管理员"和"用户"用户。
管理员 :在后端登录(与超级管理员相同),并有权访问与超级管理员相同的数据,但过滤为创建并分配给它的数据。可以有许多用户具有这种类型的用户。可以创建新的"用户"用户。
用户:在前端登录并可以访问自己的数据。可以创建自己的帐户。
真的我需要使用 PUGXMultiUserBundle 来管理这个吗?真的我需要三种类型的用户,只有两个?超级管理员和管理员将共享相同的界面,并且只有一个超级管理员。
感谢您的帮助!
Symfony 2 中添加角色来提供许多角色security.yml
。您可以使用 access_control
设置用户可以转到的页面。
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
限制访问的另一种方法是使用批注和@Security。
您可以使用 role_hierarchy
在security.yml
中定义用户角色。
role_hierarchy:
ROLE_SUPER_ADMIN: [ROLE_ADMIN]
ROLE_ADMIN: ROLE_USER
请注意,Symfony 2为经过身份验证的人员提供了一个默认值,即ROLE_USER
。
另一件事,使用FosUserBundle可以节省时间。