Files
easygoadmin-wiki/EasyGoAdmin_Gin_AntdVue/zh/core/demo-mode.md
T
2026-10-25 17:24:27 +08:00

1.6 KiB
Raw Blame History

5.8 演示模式

:::tip 概述 演示模式用于对外展示环境:写操作一律拒绝,读操作与登录类公开接口放行。一个开关(app.demo)保护演示数据不被参观者改动,同时不影响浏览体验。 :::

行为矩阵(internal/middleware/demo.go 实际逻辑)

请求 demo=true 时
GET / HEAD / OPTIONS(读方法) 放行
免登录公开路径(登录/验证码/令牌兑换等) 放行
其余方法(POST / PUT / DELETE…) 拒绝,返回 CodeDemoMode("演示环境,禁止操作!")

判定只看 HTTP 方法与公开标记:读方法与公开路径直接 c.Next(),其余一律拒绝并写入拒绝原因(与限流同款 denied 通道,不产生操作日志)。app.demo=false(默认)时整体放行、零额外开销。

配置

app:
  demo: true    # 演示模式开关

对应环境变量:APP_APP_DEMO=true。

与其他模式的关系

模式 用途 与演示模式
app.prod 生产红线校验(密钥/万能码/生成器) 可同时开启
app.demo 拦截写操作 演示站通常同时开 prod + demo

演示站推荐组合:prod=true(拒绝弱密钥等)+ demo=true(拒绝写操作)+ 生成器关闭。

演示环境其他配套建议

  • 独立数据库实例,定期从种子数据重置
  • 文件上传目录可写但定期清理
  • 日志级别调至 info,避免刷屏
  • 限流保持开启(防参观者误触发高频)

下一步

→ 5.9 多租户隔离