Невозможно войти в систему в 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 на странице входа в систему?