Source code for guardrail.ext.django.backends

# -*- coding: utf-8 -*-
"""Custom object permissions backend for Django plugin"""

from .models import DjangoPermissionManager


[docs]class ObjectPermissionBackend(object): """Custom authentication backend for object-level permissions. Must be used in conjunction with a backend that handles the `authenticate` and `get_user` methods, such as the default `django.contrib.auth.backends.ModelBackend`. """ def authenticate(self, username=None, password=None, *kwargs): return None def get_user(self, user_id): return None def has_perm(self, user, perm, target=None): manager = DjangoPermissionManager() return manager.has_permission(user, target, perm) def get_all_permissions(self, user, target=None): manager = DjangoPermissionManager() return manager.get_permissions(user, target)