我开始在我的应用程序中实现一些安全功能。最初尝试实施一些 ACL 时,我遇到了两个我无法弄清楚的问题:
- 在哪里实现 acl 的设置我可以在创建我的实体的控制器操作中或在具有生命周期回调的实体本身上进行。例如,我有一个包含一些用户实体的组实体。为所有组实体设置生命周期回调的查看或编辑访问权更容易。我宁愿让我的控制器尽可能纤薄。或者这是一个不好的方法?我需要实体中的安全容器。您对此有何看法?
- 如何检查相关实体:扩展我之前的示例,我有一个组,这个组可以举行一些约会。在显示或编辑约会的操作中,我只想检查该组。这主要是为了使用“查看”权限。这意味着如果有人在持有约会的组中,该人也应该能够查看约会。我想用 JMSExtraSecurityBundle 和 SecureParam 来实现它,但我不知道该怎么做。