Django-guardian和django-permissions等项目可以让您拥有对象级权限。但是,如果两个对象通过父子关系相互关联,除非另有说明,否则子对象是否可以继承父对象的权限?例如,除非用户显式地为子文件夹分配了不同的权限,否则subfolder应该继承parent folder的权限。
使用Django,特别是Django-guardian模块实现这一点的最好方法是什么?
发布于 2012-06-11 14:50:09
当您检查用户是否拥有对象的权限,以及没有权限时,您可以检查该用户是否拥有其父对象的权限。
您甚至可能想要创建自己的函数,例如:
def your_has_perm(user, perm, obj):
has = user.has_perm(perm, obj)
if not has and hasattr(obj, 'parent'):
return your_has_perm(user, perm, obj.parent)
return has这应该遍历父级,直到找到父级的权限或返回False。
https://stackoverflow.com/questions/10975486
复制相似问题