Symfony 中的多层权限
Multi-layered permissions in Symfony
我正在尝试实现一项允许用户创建 "organizations" 作为子域的服务。我希望我的用户允许邀请人们邀请他们加入他们的 "organization",例如orgname.exampleapp.com.
由于我对 Symfony 比较熟悉,所以我想用它来构建这个项目。我已经阅读了很多关于角色、团体、选民等的文档,但我无法将它们拼凑起来。因此我的问题:
我如何最好地在 Symfony 2.6+ 中构建符合此条件的权限系统:
- 用户应该在主页上注册,例如
example.com
- 用户应该能够创建组织,并为其分配一个子域(例如
orgname.exampleapp.com
)
- 用户应该能够邀请他人加入组织。
- 用户应该能够将人员放入特定组织的组中。
- 用户应该能够为特定组织的组分配权限。
我可以控制我打算 运行 使用的服务器,所以我不反对使用 SSO 或需要配置自己的虚拟机/云服务器等的构造。
Voters 正好符合您的要求。它们很简单,可以验证复杂的规则。
根据我个人的经验,这是关于改变典型 ACL 方法的思维方式。话虽如此,我建议您查看 these slides with comparison of ACL and Voters,那里有很好的解释。
我正在尝试实现一项允许用户创建 "organizations" 作为子域的服务。我希望我的用户允许邀请人们邀请他们加入他们的 "organization",例如orgname.exampleapp.com.
由于我对 Symfony 比较熟悉,所以我想用它来构建这个项目。我已经阅读了很多关于角色、团体、选民等的文档,但我无法将它们拼凑起来。因此我的问题:
我如何最好地在 Symfony 2.6+ 中构建符合此条件的权限系统:
- 用户应该在主页上注册,例如
example.com
- 用户应该能够创建组织,并为其分配一个子域(例如
orgname.exampleapp.com
) - 用户应该能够邀请他人加入组织。
- 用户应该能够将人员放入特定组织的组中。
- 用户应该能够为特定组织的组分配权限。
我可以控制我打算 运行 使用的服务器,所以我不反对使用 SSO 或需要配置自己的虚拟机/云服务器等的构造。
Voters 正好符合您的要求。它们很简单,可以验证复杂的规则。
根据我个人的经验,这是关于改变典型 ACL 方法的思维方式。话虽如此,我建议您查看 these slides with comparison of ACL and Voters,那里有很好的解释。