模型类或单独的类中的权限管理?

时间:2013-02-05 08:13:02

标签: python architecture

我正面临架构问题。

我必须管理对某些资源有阻截和授权的用户的权利。

我想要一种方法来获得资源的实际应用权限(阻截优先于授权)。

使用get_rights(用户)方法获得类RightManager是否更好? 或者使用get_rights()

方法的类User

我认为第二种解决方案更好,因为它的参数较少,但在模型User类中进行权限管理却很奇怪。在类RightManager中使用它不是更合乎逻辑吗?

我的程序是在python中,但我认为没关系。

1 个答案:

答案 0 :(得分:0)

用户实体可以没有权限存在,因此最好不要将用户与权限相结合。在调用get_rights时,与User分开维护权限并将用户作为参数传递。如果结果是冗长的,你可以将RightsManager扩展到UserRightsManager之类的用户可以在初始化期间传递的内容,并且在查询权限时可以在内部使用用户。

我在传递过程中使用了Zend_Acl,发现他们的架构非常直观和有效。也许您可能希望在进一步http://framework.zend.com/manual/1.12/en/zend.acl.advanced.html

之前查看它