Невозможно войти в систему в django, когда RLS включен в модели пользователя?

У меня есть многопользовательское приложение django, в котором я включил Row Level Security с помощью Postgres. В каждой таблице есть столбец tenant_id. Я могу сделать RLS на таблицах, используя следующую политику postgres

CREATE POLICY {policy_name} ON "{table_name}" USING (tenant_id::TEXT = current_setting('rls.tenant_id'));"

и промежуточное программное обеспечение

from django.utils.deprecation import MiddlewareMixin
from django.db import connection
class RLSMiddleware(MiddlewareMixin):
    def process_view(self, request, **kwargs):
        with connection.cursor() as cur:
            cur.execute("""select set_config('rls.tenant_id', %(value)s, false)""", dict(value=request.user.pk))

Теперь, когда я включаю это в модель django user, я не могу войти, поскольку арендатор в current_setting не установлен. Но мне нужно войти, чтобы установить current_setting.

Есть ли какое-нибудь решение для этого? Могу ли я отключить RLS на странице входа в систему?

Вернуться на верх