mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-07-06 17:14:07 +00:00
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
from django.urls import resolve
|
|
from django.http import Http404, HttpResponseNotFound
|
|
|
|
class RequestLogger:
|
|
def __init__(self, get_response):
|
|
self.get_response = get_response
|
|
|
|
def __call__(self, request):
|
|
print(f"Original: {request.build_absolute_uri()}")
|
|
print(f"Path : {request.path}")
|
|
|
|
response = self.get_response(request)
|
|
|
|
return response
|
|
|
|
|
|
from django.contrib.auth import get_user_model
|
|
from django.contrib.auth import login
|
|
from django.contrib.auth.models import Group
|
|
|
|
class AutoLoginMiddleware:
|
|
def __init__(self, get_response):
|
|
self.get_response = get_response
|
|
|
|
def __call__(self, request):
|
|
if not request.user.is_authenticated:
|
|
user_email = request.META.get('HTTP_X_AUTHENTIK_EMAIL')
|
|
user_name = request.META.get('HTTP_X_AUTHENTIK_USERNAME')
|
|
user_groups = request.META.get('HTTP_X_AUTHENTIK_GROUPS')
|
|
|
|
if user_email and user_name:
|
|
User = get_user_model()
|
|
try:
|
|
user = User.objects.get(email=user_email)
|
|
except User.DoesNotExist:
|
|
user = User.objects.create_user(
|
|
username=user_name,
|
|
email=user_email
|
|
)
|
|
|
|
if user_groups:
|
|
groups_list = user_groups.split(',')
|
|
for group_name in groups_list:
|
|
group, created = Group.objects.get_or_create(name=group_name.strip())
|
|
user.groups.add(group)
|
|
|
|
login(request, user)
|
|
|
|
response = self.get_response(request)
|
|
return response
|