|
@@ -93,6 +93,12 @@ NAPALM_TIMEOUT = getattr(configuration, 'NAPALM_TIMEOUT', 30)
|
|
|
NAPALM_USERNAME = getattr(configuration, 'NAPALM_USERNAME', '')
|
|
NAPALM_USERNAME = getattr(configuration, 'NAPALM_USERNAME', '')
|
|
|
PAGINATE_COUNT = getattr(configuration, 'PAGINATE_COUNT', 50)
|
|
PAGINATE_COUNT = getattr(configuration, 'PAGINATE_COUNT', 50)
|
|
|
PREFER_IPV4 = getattr(configuration, 'PREFER_IPV4', False)
|
|
PREFER_IPV4 = getattr(configuration, 'PREFER_IPV4', False)
|
|
|
|
|
+REMOTE_AUTH_AUTO_CREATE_USER = getattr(configuration, 'REMOTE_AUTH_AUTO_CREATE_USER', False)
|
|
|
|
|
+REMOTE_AUTH_BACKEND = getattr(configuration, 'REMOTE_AUTH_BACKEND', 'utilities.auth_backends.RemoteUserBackend')
|
|
|
|
|
+REMOTE_AUTH_DEFAULT_GROUPS = getattr(configuration, 'REMOTE_AUTH_DEFAULT_GROUPS', [])
|
|
|
|
|
+REMOTE_AUTH_DEFAULT_PERMISSIONS = getattr(configuration, 'REMOTE_AUTH_DEFAULT_PERMISSIONS', [])
|
|
|
|
|
+REMOTE_AUTH_ENABLED = getattr(configuration, 'REMOTE_AUTH_ENABLED', False)
|
|
|
|
|
+REMOTE_AUTH_HEADER = getattr(configuration, 'REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER')
|
|
|
REPORTS_ROOT = getattr(configuration, 'REPORTS_ROOT', os.path.join(BASE_DIR, 'reports')).rstrip('/')
|
|
REPORTS_ROOT = getattr(configuration, 'REPORTS_ROOT', os.path.join(BASE_DIR, 'reports')).rstrip('/')
|
|
|
SCRIPTS_ROOT = getattr(configuration, 'SCRIPTS_ROOT', os.path.join(BASE_DIR, 'scripts')).rstrip('/')
|
|
SCRIPTS_ROOT = getattr(configuration, 'SCRIPTS_ROOT', os.path.join(BASE_DIR, 'scripts')).rstrip('/')
|
|
|
SESSION_FILE_PATH = getattr(configuration, 'SESSION_FILE_PATH', None)
|
|
SESSION_FILE_PATH = getattr(configuration, 'SESSION_FILE_PATH', None)
|
|
@@ -258,7 +264,7 @@ INSTALLED_APPS = [
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
# Middleware
|
|
# Middleware
|
|
|
-MIDDLEWARE = (
|
|
|
|
|
|
|
+MIDDLEWARE = [
|
|
|
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
|
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
|
|
'django_prometheus.middleware.PrometheusBeforeMiddleware',
|
|
'django_prometheus.middleware.PrometheusBeforeMiddleware',
|
|
|
'corsheaders.middleware.CorsMiddleware',
|
|
'corsheaders.middleware.CorsMiddleware',
|
|
@@ -274,7 +280,9 @@ MIDDLEWARE = (
|
|
|
'utilities.middleware.APIVersionMiddleware',
|
|
'utilities.middleware.APIVersionMiddleware',
|
|
|
'extras.middleware.ObjectChangeMiddleware',
|
|
'extras.middleware.ObjectChangeMiddleware',
|
|
|
'django_prometheus.middleware.PrometheusAfterMiddleware',
|
|
'django_prometheus.middleware.PrometheusAfterMiddleware',
|
|
|
-)
|
|
|
|
|
|
|
+]
|
|
|
|
|
+if REMOTE_AUTH_ENABLED:
|
|
|
|
|
+ MIDDLEWARE.append('utilities.middleware.RemoteUserMiddleware')
|
|
|
|
|
|
|
|
ROOT_URLCONF = 'netbox.urls'
|
|
ROOT_URLCONF = 'netbox.urls'
|
|
|
|
|
|
|
@@ -297,10 +305,12 @@ TEMPLATES = [
|
|
|
},
|
|
},
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
-# Authentication
|
|
|
|
|
|
|
+# Set up authentication backends
|
|
|
AUTHENTICATION_BACKENDS = [
|
|
AUTHENTICATION_BACKENDS = [
|
|
|
'utilities.auth_backends.ViewExemptModelBackend',
|
|
'utilities.auth_backends.ViewExemptModelBackend',
|
|
|
]
|
|
]
|
|
|
|
|
+if REMOTE_AUTH_ENABLED:
|
|
|
|
|
+ AUTHENTICATION_BACKENDS.insert(0, REMOTE_AUTH_BACKEND)
|
|
|
|
|
|
|
|
# Internationalization
|
|
# Internationalization
|
|
|
LANGUAGE_CODE = 'en-us'
|
|
LANGUAGE_CODE = 'en-us'
|