| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- # 数据库连接:达梦 DM(当前启用;主机不变,端口 5236,用户/库名 DMS)
- # 兼容两种格式:Python 版 dm+dmPython:// 连接串会被自动转换为 jdbc:dm://
- DMS_DATABASE_URL=dm+dmPython://DMS:change-me@127.0.0.1:5236
- # 原 MySQL 8 连接(保留备查,回切时取消注释并注释上方 DM 链接):
- # DMS_DATABASE_URL=mysql+pymysql://dms_app:change-me@127.0.0.1:3306/dms?charset=utf8mb4
- # 存储根目录:留空时使用工作目录下 dms-storage/。
- # 与 Python 版并行验证共用存储时,显式指向 backend/dms-storage
- # DMS_STORAGE_ROOT=
- # 单文件、请求总大小与批量文件数
- DMS_MAX_FILE_SIZE=52428800
- DMS_MAX_UPLOAD_SIZE=104857600
- DMS_BATCH_MAX_FILES=50
- # LibreOffice 离线转换配置(DOC/DOCX 转 PDF 预览)
- DMS_OFFICE_PREVIEW_ENABLED=true
- DMS_LIBREOFFICE_EXECUTABLE=C:\\Program Files\\LibreOffice\\program\\soffice.exe
- DMS_LIBREOFFICE_TIMEOUT_SECONDS=60
- DMS_LIBREOFFICE_MAX_CONCURRENCY=2
- # JWT 密钥(与 Python 版一致时两套后端令牌互通)
- DMS_JWT_SECRET=replace-with-a-random-secret
- # 页面空闲自动登出(分钟),缺省 5:用户在页面上无鼠标/滚动/键盘等操作持续
- # 达到该时长后前端自动退出登录;设为 0 表示关闭该功能
- DMS_IDLE_LOGOUT_MINUTES=5
- # 登录图片验证码(缺省 true 开启,键与 Python 版一致):开启时登录页显示图片
- # 验证码输入,登录请求需携带 captchaId/captchaCode;false 关闭后回归三键请求
- DMS_CAPTCHA_ENABLED=true
- # 超级管理员登录开关(缺省 true 允许,键与 Python 版一致):设为 false 后内置
- # admin 禁止登录(报错与用户名或密码错误完全一致)、用户列表隐藏 admin、创建
- # 同名用户报"不能创建该名称的用户",外部无法感知系统中存在该账号
- DMS_ALLOW_ADMIN_LOGIN=true
- # ─────────────────────────────────────────────────────────────
- # 禁用用户名密码登录(安全管控)
- # ─────────────────────────────────────────────────────────────
- # 缺省 false。设为 true 后仅允许单点登录(门户跳转验签、本地 SSO 代理)进入系统:
- # POST /auth/login 一律 403「用户名密码登录已被禁用」(先于验证码校验与用户查询,
- # 不消耗验证码、不泄露账号是否存在),登录页隐藏账号密码表单仅显示单点登录提示。
- # 注意:开启前请确认门户(DMS_PORTAL_*)或本地 SSO(DMS_SSO_PROXY_ENABLED=true)
- # 至少一项可用,否则将无人能登录系统(需改回 .env 后重启方可恢复)
- DMS_PASSWORD_LOGIN_DISABLED=false
- # 一次一码轮换(安全需求:写操作防重放,缺省 true 开启,当前仅 Java 版实现):
- # 开启后 POST/PUT/DELETE 写操作成功响应经 X-DMS-Access-Token 头返回轮换出的新
- # 授权码,旧码对写操作立即失效(401 SESSION_ROTATED);GET 读请求沿用原码不轮换。
- # 设为 false 时登录不落会话代、写操作不比对不轮换,存量会话自然过渡
- DMS_TOKEN_ROTATION_ENABLED=true
- # 系统管理页监控信息展示(缺省 false):false 时系统管理页仅显示维护操作与备份管理,
- # 隐藏系统信息/资源监控/存储用量/运行参数等区块;true 时完整显示
- DMS_SYSTEM_MONITOR_ENABLED=false
- # rsync 可执行文件路径(可选,RSYNC 备份模式用):留空自动探测——先 PATH 上的
- # rsync,再发行目录 tools/rsync/ 内置版(Windows 发行包已随包携带 cwRsync)
- # DMS_RSYNC_EXECUTABLE=
- # CORS 跨域白名单(逗号分隔 Origin);默认留空=仅同源访问(推荐,前端由本服务托管)。
- # 仅开发分域联调时配置,例如 DMS_CORS_ORIGINS=http://localhost:5173
- DMS_CORS_ORIGINS=
- # ─────────────────────────────────────────────────────────────
- # 门户跳转按需登录(键与 Python 版完全一致,详见 docs/门户对接指南.md)
- # ─────────────────────────────────────────────────────────────
- DMS_PORTAL_PROVIDER=
- DMS_PORTAL_TOKEN_PARAM=token
- DMS_PORTAL_VERIFY_URL=
- DMS_PORTAL_VERIFY_METHOD=POST
- DMS_PORTAL_VERIFY_TOKEN_IN=header
- DMS_PORTAL_VERIFY_HEADER=Authorization
- DMS_PORTAL_VERIFY_HEADER_TEMPLATE=Bearer {token}
- DMS_PORTAL_VERIFY_SUCCESS_FIELD=code
- DMS_PORTAL_VERIFY_SUCCESS_VALUE=0
- DMS_PORTAL_VERIFY_USER_FIELD=data
- DMS_PORTAL_USERINFO_URL=
- DMS_PORTAL_USERINFO_UID_PARAM=userId
- DMS_PORTAL_FIELD_MAP=externalId:userId,username:loginName,realName:realName,orgName:orgName
- DMS_PORTAL_DEFAULT_ORG_ID=
- DMS_PORTAL_HTTP_TIMEOUT_SECONDS=10
- # ─────────────────────────────────────────────────────────────
- # 本地单点登录代理(需求2,仅Java版,契约1.25;详见 docs/门户对接指南.md 场景D)
- # 开关缺省 false;开启后前端未登录时自动探测 proxy-verify,成功进入门户双阶段流程
- # ─────────────────────────────────────────────────────────────
- DMS_SSO_PROXY_ENABLED=true
- DMS_SSO_PROXY_HOST=127.0.0.1
- DMS_SSO_PROXY_PORT=8080
- DMS_SSO_USER_SERVICE_HOST=127.0.0.1
- DMS_SSO_USER_SERVICE_PORT=8800
- DMS_SSO_TIMEOUT_SECONDS=10
|