项目如Django的监护人和Django的权限,使您能够对象级别的权限。 但是,如果两个物体是由父子关系彼此相关的,有没有什么办法的子对象继承父对象的权限,除非另有规定? 例如, subfolder
应该继承权限parent folder
,除非用户明确地指定的子文件夹不同的权限。
什么是做到这一点使用Django的最佳方法,尤其是Django的监护人模块?
项目如Django的监护人和Django的权限,使您能够对象级别的权限。 但是,如果两个物体是由父子关系彼此相关的,有没有什么办法的子对象继承父对象的权限,除非另有规定? 例如, subfolder
应该继承权限parent folder
,除非用户明确地指定的子文件夹不同的权限。
什么是做到这一点使用Django的最佳方法,尤其是Django的监护人模块?
当您检查,如果用户对某个对象的权限,并且没有,那么你可以检查它是否具有在其家长同意。
你甚至可能想使自己的功能,例如:
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。