# Backends

## ObjectPermissionBackend

class guardian.backends.ObjectPermissionBackend
  get_all_permissions(user_obj, obj=None)

    Returns a set of permission strings that the given `user_obj` has for `obj`

  has_perm(user_obj, perm, obj=None)

    Returns `True` if given `user_obj` has `perm` for `obj`. If no `obj` is given, `False` is returned.

    Note

    Remember, that if user is not active, all checks would return `False`.

    Main difference between Django’s `ModelBackend` is that we can pass `obj` instance here and `perm` doesn’t have to contain `app_label` as it can be retrieved from given `obj`.

    Inactive user support

    If user is authenticated but inactive at the same time, all checks always returns `False`.