我试图找到使用 Symfony2 处理“复杂”安全/隐私系统的最佳方法。
我阅读了很多关于 theROLES和 the的文档,ACLs但我正在寻找不同的东西。我需要根据对象的属性计算权限。
在我的例子中,我有一个User对象和多个其他对象(Project、Task、Label等等......)。
我需要检查是否User可以在不将权限存储在数据库中的情况下读取或写入ACL任何类型的对象(就像系统正在做的那样)。权利应该基于User和给定对象之间的关系“计算”。
例如,User(1)可以写在 上,Task(2)因为他是 的成员,Project(3)而Task(2)是Project(3)。
安全服务的角色无法处理这个问题。ACL 可以处理它,但我不想将权限存储在我的数据库中,因为我知道它们会在产品生命周期内发生很大变化。
是否有针对这种需求的已知良好做法,或者我应该编写自己的系统?
谢谢。