From e7c3169898697e2c437cf95eb31e9bd6a3290b4d Mon Sep 17 00:00:00 2001
From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com>
Date: Mon, 31 Mar 2025 19:02:56 +0800
Subject: [PATCH] feat: doc auth (#2752)
---
.../middleware/doc_headers_middleware.py | 62 +++++++++++++++++++
apps/smartdoc/settings/base.py | 4 +-
ui/vite.config.ts | 12 +++-
3 files changed, 75 insertions(+), 3 deletions(-)
create mode 100644 apps/common/middleware/doc_headers_middleware.py
diff --git a/apps/common/middleware/doc_headers_middleware.py b/apps/common/middleware/doc_headers_middleware.py
new file mode 100644
index 000000000..d818b842c
--- /dev/null
+++ b/apps/common/middleware/doc_headers_middleware.py
@@ -0,0 +1,62 @@
+# coding=utf-8
+"""
+ @project: maxkb
+ @Author:虎
+ @file: static_headers_middleware.py
+ @date:2024/3/13 18:26
+ @desc:
+"""
+from django.http import HttpResponse
+from django.utils.deprecation import MiddlewareMixin
+
+content = """
+
+
+
+
+
+
+ Document
+
+
+
+
+
+"""
+
+
+class DocHeadersMiddleware(MiddlewareMixin):
+ def process_response(self, request, response):
+ if request.path.startswith('/doc/') or request.path.startswith('/doc/chat/'):
+ HTTP_REFERER = request.META.get('HTTP_REFERER')
+ if HTTP_REFERER is None:
+ return HttpResponse(content)
+ if HTTP_REFERER == request._current_scheme_host + request.path:
+ return response
+ return response
diff --git a/apps/smartdoc/settings/base.py b/apps/smartdoc/settings/base.py
index 51c9d14d7..edf458662 100644
--- a/apps/smartdoc/settings/base.py
+++ b/apps/smartdoc/settings/base.py
@@ -57,8 +57,8 @@ MIDDLEWARE = [
'django.contrib.messages.middleware.MessageMiddleware',
'common.middleware.gzip.GZipMiddleware',
'common.middleware.static_headers_middleware.StaticHeadersMiddleware',
- 'common.middleware.cross_domain_middleware.CrossDomainMiddleware'
-
+ 'common.middleware.cross_domain_middleware.CrossDomainMiddleware',
+ 'common.middleware.doc_headers_middleware.DocHeadersMiddleware'
]
JWT_AUTH = {
diff --git a/ui/vite.config.ts b/ui/vite.config.ts
index 6c442abd1..f34b0363e 100644
--- a/ui/vite.config.ts
+++ b/ui/vite.config.ts
@@ -9,13 +9,23 @@ const envDir = './env'
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const ENV = loadEnv(mode, envDir)
- const prefix = process.env.VITE_DYNAMIC_PREFIX || ENV.VITE_BASE_PATH;
+ const prefix = process.env.VITE_DYNAMIC_PREFIX || ENV.VITE_BASE_PATH
const proxyConf: Record = {}
proxyConf['/api'] = {
target: 'http://127.0.0.1:8080',
changeOrigin: true,
rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
}
+ proxyConf['/doc'] = {
+ target: 'http://127.0.0.1:8080',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
+ }
+ proxyConf['/static'] = {
+ target: 'http://127.0.0.1:8080',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
+ }
return {
preflight: false,
lintOnSave: false,