【问题标题】:Multi-layered permissions in SymfonySymfony 中的多层权限
【发布时间】:2015-09-27 18:01:45
【问题描述】:

我正在尝试实现一项服务,该服务允许用户将“组织”创建为子域。我希望我的用户允许邀请人们邀请他们加入他们的“组织”,例如orgname.exampleapp.com.

由于我对 Symfony 相当熟悉,我想用它来构建这个项目。我已经阅读了很多关于角色、团体、选民等的文档,但我无法将它们拼凑起来。因此我的问题:

我将如何最好地在 Symfony 2.6+ 中构建符合此条件的权限系统:

  • 用户应在主页上注册,例如example.com
  • 用户应该能够创建被分配子域的组织(例如orgname.exampleapp.com
  • 用户应该能够邀请人们加入组织。
  • 用户应该能够为特定组织将人员分组。
  • 用户应该能够为特定组织的组分配权限。

我可以控制我打算在其上运行它的服务器,因此我不反对使用 SSO 或需要配置自己的虚拟机/云服务器等的构造。

【问题讨论】:

  • sonataadminbundle 会为你做很多事情,并且是高度可配置的(与 FOSUserBundle 一起使用)
  • 我简要地看了一下奏鸣曲,但我实际上想了解您如何使用 Symfony 来做到这一点,就像各个部分如何连接在一起一样。我不喜欢在不了解它们是/应该做什么的情况下使用组件。

标签: php symfony permissions authorization acl


【解决方案1】:

Voters 非常适合您的要求。它们很简单,可以验证复杂的规则。

根据我的个人经验,这是关于改变典型 ACL 方法的思维方式。话虽如此,我建议您查看these slides with comparison of ACL and Voters,那里的解释很好。

【讨论】:

  • 谢谢,我希望 Symfony 文档能像这些幻灯片一样深入并解释彼此相关的概念。我会和 Voters 多玩一会儿,看看我能不能让它轻松地工作。
  • 最佳来源通常是演示文稿/博客。我也希望如此,所以我开始选择最好的 Symfony 教育资源 - Awesome Symfony。您可能会发现它很有用。
猜你喜欢
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
  • 2015-02-06
相关资源
最近更新 更多