Обработка групповых разрешений Django auth

Я использую Django auth groups. Группы содержат разрешения(https://docs.djangoproject.com/en/4.1/ref/contrib/auth/#group-model). Теперь группы назначаются пользователям на основе их фактической роли. В моей тестовой установке одна группа содержит разрешение (market.xyz). Эта группа назначена вошедшему в систему пользователю.

В отладчике я вижу, что групповое разрешение назначено (строка 88) enter image description here

Но если я вызываю user.has_perm(per1), то получаю False (строка 87)

Я не могу понять смысл этого результата. Необходимо ли активировать механизм auth group? Должен ли я добавить какое-то дополнительное Middleware?

Выше я уже подозревал, что не хватает какого-то Middleware для активации auth-групп. Очень близко! После некоторых проб и ошибок я обнаружил, что ModelBackend заставляет все это работать. IMHO в документации по группам авторизации можно было бы сделать замечание по этому поводу!

AUTHENTICATION_BACKENDS = [
    "foo.bar.MyOwnAuthBackend",
    "django.contrib.auth.backends.ModelBackend",
]
Вернуться на верх