mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-08-21 14:37:16 +00:00
Merge vpn.Users with Django Users
This commit is contained in:
@@ -12,3 +12,39 @@ class RequestLogger:
|
||||
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
|
||||
|
@@ -21,6 +21,8 @@ CELERY_TASK_SERIALIZER = 'json'
|
||||
CELERY_RESULT_SERIALIZER = 'json'
|
||||
CELERY_RESULT_EXTENDED = True
|
||||
|
||||
AUTH_USER_MODEL = "vpn.User"
|
||||
|
||||
# CACHES = {
|
||||
# 'default': {
|
||||
# 'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
|
||||
@@ -110,7 +112,6 @@ INSTALLED_APPS = [
|
||||
|
||||
|
||||
MIDDLEWARE = [
|
||||
#'mysite.middleware.RequestLogger',
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'whitenoise.middleware.WhiteNoiseMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
@@ -120,6 +121,7 @@ MIDDLEWARE = [
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'corsheaders.middleware.CorsMiddleware',
|
||||
#'mysite.middleware.AutoLoginMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'mysite.urls'
|
||||
|
Reference in New Issue
Block a user