1

(对不起,我的英语不好)

我需要创建不同类型的用户,并为每个用户进行特定配置。请注意,我知道 PUGXMultiUserBundle 和 FOSUserBundle 的存在,但我想知道我是否真的需要使用这些包。

我需要 3 类用户:

  • 超级管理员:在后端登录并可以不受限制地访问所有数据。将只有一个,不会更多。可以创建新的“管理员”和“用户”用户。

  • 管理员:在后端登录(与 SuperAdmin 相同的表单)并可以访问与 SuperAdmin 相同的数据,但过滤到创建和分配给它的数据。这种类型的用户可以是很多用户。可以创建新的“用户”用户。

  • 用户:在前端登录并可以访问自己的数据。可以创建自己的帐户。

我真的需要使用 PUGXMultiUserBundle 来管理它吗?真的我只需要两种类型的三种用户吗?SuperAdmin 和 Admin 将共享相同的界面,并且只有一个 SuperAdmin。

谢谢你的帮助!

4

1 回答 1

1

您可以在 Symfony 2 中提供许多角色,方法是将它们添加到security.yml. 您可以使用 设置用户可以访问的页面access_control

access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }

另一种限制访问的方法是使用注解和@Security。

security.yml您可以在with中定义您的用户角色role_hierarchy

role_hierarchy:
        ROLE_SUPER_ADMIN: [ROLE_ADMIN] 
        ROLE_ADMIN: ROLE_USER

请注意,Symfony 2 为经过身份验证的人提供了一个默认值,即ROLE_USER.

另一件事,使用FosUserBundle可以让您节省时间。

于 2014-04-03T12:06:00.383 回答