检查具有全局权限的用户的对象权限

时间:2019-04-17 07:51:27

标签: python django django-models django-guardian

我如何检查具有全局权限的对象的权限?

joe = User.objects.get(username="joe")
assign_perm('parse.show_company', joe) # assign global permission
company = Company.objects.get(id=id)

joe.has_perm('parse.show_company', company ) # check permission for object, return False

1 个答案:

答案 0 :(得分:0)

这是django Guardian应用程序中权限检查器的未解决问题。您可以在github上找到它。

https://github.com/django-guardian/django-guardian/issues/294

您还可以使用以下用户来检查对象的全局权限:

from guardian.shortcuts import get_objects_for_user
if company in get_objects_for_user(company, 'parse.show_company'):
    # do your stuff

我希望这会对您有所帮助。