Files
HSAP/vendor/cvat/patches/no_auth_middleware.py

33 lines
1007 B
Python
Raw Normal View History

"""
Auto-authenticate all requests as a default admin user.
This removes the need for login in local/test environments.
"""
from django.conf import settings
from django.contrib.auth import get_user_model
User = get_user_model()
class NoAuthMiddleware:
"""Middleware that auto-authenticates every request as the first superuser."""
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# Only set user if not already authenticated
if not request.user.is_authenticated:
try:
user = User.objects.filter(is_superuser=True).first()
if not user:
user = User.objects.create_superuser(
username="auto",
email="auto@local.dev",
password="auto",
)
request.user = user
except Exception:
pass
return self.get_response(request)