mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-07-06 17:14:07 +00:00
This commit is contained in:
@ -1,6 +1,5 @@
|
|||||||
from django.urls import resolve
|
from django.contrib.auth import authenticate, login
|
||||||
from django.http import Http404, HttpResponseNotFound
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
from django.contrib.auth.middleware import RemoteUserMiddleware
|
|
||||||
|
|
||||||
class RequestLogger:
|
class RequestLogger:
|
||||||
def __init__(self, get_response):
|
def __init__(self, get_response):
|
||||||
@ -15,5 +14,9 @@ class RequestLogger:
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
class AutoLoginMiddleware(RemoteUserMiddleware):
|
class AutoLoginMiddleware(MiddlewareMixin):
|
||||||
header = "HTTP_X_AUTHENTIK_USERNAME"
|
def process_request(self, request):
|
||||||
|
if not request.user.is_authenticated:
|
||||||
|
user = authenticate(username='admin', password='admin')
|
||||||
|
if user:
|
||||||
|
login(request, user)
|
||||||
|
@ -3,6 +3,7 @@ import os
|
|||||||
import environ
|
import environ
|
||||||
from django.core.management.utils import get_random_secret_key
|
from django.core.management.utils import get_random_secret_key
|
||||||
|
|
||||||
|
|
||||||
ENV = environ.Env(
|
ENV = environ.Env(
|
||||||
DEBUG=(bool, False)
|
DEBUG=(bool, False)
|
||||||
)
|
)
|
||||||
@ -23,13 +24,6 @@ CELERY_RESULT_EXTENDED = True
|
|||||||
|
|
||||||
AUTH_USER_MODEL = "vpn.User"
|
AUTH_USER_MODEL = "vpn.User"
|
||||||
|
|
||||||
# CACHES = {
|
|
||||||
# 'default': {
|
|
||||||
# 'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
|
|
||||||
# 'LOCATION': 'cache_table',
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
DEBUG = ENV('DEBUG')
|
DEBUG = ENV('DEBUG')
|
||||||
|
|
||||||
ALLOWED_HOSTS = ENV.list('ALLOWED_HOSTS', default=["*"])
|
ALLOWED_HOSTS = ENV.list('ALLOWED_HOSTS', default=["*"])
|
||||||
@ -109,10 +103,6 @@ INSTALLED_APPS = [
|
|||||||
'vpn',
|
'vpn',
|
||||||
]
|
]
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = [
|
|
||||||
"django.contrib.auth.backends.RemoteUserBackend",
|
|
||||||
]
|
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'whitenoise.middleware.WhiteNoiseMiddleware',
|
'whitenoise.middleware.WhiteNoiseMiddleware',
|
||||||
@ -120,7 +110,6 @@ MIDDLEWARE = [
|
|||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.auth.middleware.RemoteUserMiddleware',
|
|
||||||
'mysite.middleware.AutoLoginMiddleware',
|
'mysite.middleware.AutoLoginMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
@ -19,6 +19,11 @@ from .server_plugins import (
|
|||||||
OutlineServerAdmin)
|
OutlineServerAdmin)
|
||||||
|
|
||||||
|
|
||||||
|
admin.site.site_title = "VPN Manager"
|
||||||
|
admin.site.site_header = "VPN Manager"
|
||||||
|
admin.site.index_title = "OutFleet"
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Server)
|
@admin.register(Server)
|
||||||
class ServerAdmin(PolymorphicParentModelAdmin):
|
class ServerAdmin(PolymorphicParentModelAdmin):
|
||||||
base_model = Server
|
base_model = Server
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from django.apps import AppConfig
|
from django.apps import AppConfig
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
class VPN(AppConfig):
|
class VPN(AppConfig):
|
||||||
default_auto_field = 'django.db.models.BigAutoField'
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
name = 'vpn'
|
name = 'vpn'
|
||||||
|
|
||||||
|
17
vpn/management/commands/create_admin.py
Normal file
17
vpn/management/commands/create_admin.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = 'Create default admin user'
|
||||||
|
|
||||||
|
def handle(self, *args, **kwargs):
|
||||||
|
User = get_user_model()
|
||||||
|
if not User.objects.filter(username='admin').exists():
|
||||||
|
User.objects.create_superuser(
|
||||||
|
username='admin',
|
||||||
|
password='admin',
|
||||||
|
email='admin@localhost'
|
||||||
|
)
|
||||||
|
self.stdout.write(self.style.SUCCESS('Admin user created'))
|
||||||
|
else:
|
||||||
|
self.stdout.write(self.style.WARNING('Admin user already exists'))
|
Reference in New Issue
Block a user