我正面临架构问题。
我必须管理对某些资源有阻截和授权的用户的权利。
我想要一种方法来获得资源的实际应用权限(阻截优先于授权)。
使用get_rights(用户)方法获得类RightManager是否更好? 或者使用get_rights()
方法的类User我认为第二种解决方案更好,因为它的参数较少,但在模型User类中进行权限管理却很奇怪。在类RightManager中使用它不是更合乎逻辑吗?
我的程序是在python中,但我认为没关系。
答案 0 :(得分:0)
用户实体可以没有权限存在,因此最好不要将用户与权限相结合。在调用get_rights时,与User分开维护权限并将用户作为参数传递。如果结果是冗长的,你可以将RightsManager扩展到UserRightsManager之类的用户可以在初始化期间传递的内容,并且在查询权限时可以在内部使用用户。
我在传递过程中使用了Zend_Acl,发现他们的架构非常直观和有效。也许您可能希望在进一步http://framework.zend.com/manual/1.12/en/zend.acl.advanced.html
之前查看它