Skip to content

Releases: dashug/ldap-admin-platform

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 31 May 15:42
3d6e207

🔧 CI 升级 + 🐳 多架构镜像

  • 多架构镜像:现在同时构建并发布 linux/amd64 + linux/arm64(Dockerfile 采用交叉编译,不走 QEMU 模拟,构建快)。docker pull 会按你的平台自动选择架构。
  • CI Actions 升级:checkout@v6、setup-go@v6、setup-node@v6、upload-artifact@v7、download-artifact@v8、action-gh-release@v3、docker/* 全部升到最新大版本,消除 Node.js 20 弃用告警。

使用

docker pull ghcr.io/dashug/ldap-admin-platform:1.2.1   # 多架构,自动匹配 amd64/arm64

资产

  • 多平台二进制(linux/darwin amd64+arm64、windows amd64)见下方 Assets。
  • 容器镜像:ghcr.io/dashug/ldap-admin-platform:{1.2.1, 1.2, latest}(amd64 + arm64)

    注:GHCR 包默认 private,匿名 docker pull 前需在仓库 Packages 设置中改为 public。

Full Changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 31 May 08:37
bfd8e00

🐳 Docker 部署 + 自动镜像构建

新增

  • 自包含多阶段 Dockerfile:内部完成「前端构建(Node 18/Vite)→ 后端编译(前端 embed)→ 最小运行镜像」,docker build 一步到位,无需预编译。
  • docker-compose.yml:docker compose up -d --build 一键起 应用 + OpenLDAP(sqlite 默认,可选 MySQL / phpLDAPadmin)。
  • GitHub Actions(docker-image.yml):打 v* tag 自动构建并推送镜像到 GHCR。

修复

  • 发版 CI:release.yml 此前固定 Go 1.21 与 go.mod 的 go 1.25 冲突、且 ldflags 的 BuildTime 含空格未加引号 —— 导致 v1.0.0~v1.1.1 的 CI 全部失败、二进制未产出。现已修复,多平台二进制恢复正常。

使用

# 容器镜像
docker pull ghcr.io/dashug/ldap-admin-platform:1.2.0
# 或一键起完整环境(应用 + OpenLDAP)
docker compose up -d --build
# 访问 http://localhost:8888 ,默认 admin / 123456

资产

  • 多平台二进制(linux / darwin 的 amd64+arm64、windows amd64)见下方 Assets。
  • 容器镜像:ghcr.io/dashug/ldap-admin-platform:{1.2.0, 1.2, latest}

    注:GHCR 包默认 private,匿名 docker pull 前需在仓库 Packages 设置中改为 public。

Full Changelog: v1.1.1...v1.2.0

v1.1.1 — 修复无 LDAP 模式下用户操作

Choose a tag to compare

@dashug dashug released this 31 May 08:00

🐛 Bug 修复

修复**未连接 LDAP(纯 MySQL 模式)**下的用户写操作报错问题。

此前在 LDAP 未初始化/未连接时,以下操作会直接失败(例如「在LDAP删除用户失败LDAP未初始化或未连接」):

  • 删除 / 批量删除用户
  • 编辑用户(含部门调整)
  • 重置密码 / 自助修改密码
  • 启用 / 禁用(在职 / 离职)状态切换

现已与新建用户的处理保持一致:检测到 LDAP未初始化或未连接 时跳过 LDAP、仅写 MySQL,从而完整支持纯 MySQL 模式。LDAP 正常连接时行为不变,真实的 LDAP 错误仍会照常抛出。

注意:这是「LDAP 不可用时降级为仅 MySQL」。生产环境若 LDAP 仅临时抖动,写操作会静默跳过 LDAP,可能造成 MySQL 与 LDAP 数据漂移——此取舍与新建用户既有逻辑一致。

Full Changelog: v1.1.0...v1.1.1

v1.1.0 — 管理控制台增强

Choose a tag to compare

@dashug dashug released this 31 May 07:02

本次发布为管理控制台带来一组配置与运维能力增强。图文使用说明见 管理控制台使用指南。

✨ 新功能

设置中心(独立页面 + 路由)

  • 目录配置、平台对接、通知设置由内嵌弹窗抽离为独立页面,侧边栏「设置」分区直接指向;新增「定时同步」「登录安全」
  • 命令面板(⌘K)收录设置项;管理员专属路由守卫(非管理员不可见、直达被拦截到 401)

目录配置

  • 顶部实时显示 LDAP 连接状态;保存前可测试连接(用当前表单参数试连,不落库)
  • 配置导入二次确认、导入 / 导出

通知 / Webhook

  • Webhook 回调支持 HMAC-SHA256 签名 + 失败自动重试(3 次退避) + 投递记录面板
  • 一键测试 Webhook / 发送测试邮件;开启邮件通知时校验 SMTP 必填项

定时自动同步

  • 基于 cron 周期自动同步所有「已启用同步」来源(AD / 钉钉 / 企微 / 飞书,部门 + 用户)
  • 立即同步 + 运行记录面板;配置保存后热生效,无需重启

批量导入用户

  • CSV / Excel 模板导入,列映射 + 预检(Dry-Run),失败逐行提示

登录安全(MFA / TOTP)

  • 管理员账号二次验证:扫码绑定 Authenticator,登录时校验 6 位动态码
  • 按账号 opt-in,默认关闭,不影响未开启用户的登录

🔧 技术说明

  • 新增依赖:pquerna/otp(TOTP + 二维码);robfig/cron(已有,复用扩展)
  • 新增数据表:webhook_deliveries、sync_runs;users 增加 otp_secret / mfa_enabled(GORM AutoMigrate 自动升级,无需手动迁移)
  • 新增后端接口统一挂载在 /base 路由组(仅 JWT),避免对已初始化库做 apis/casbin 播种

Full Changelog: v1.0.1...v1.1.0

v1.0.1

Choose a tag to compare

@dashug dashug released this 15 Feb 13:54

变更说明

  • 登录公钥:新增 GET /api/base/publicKey,前端在运行时从后端获取 RSA 公钥,未配置 VUE_APP_PUBLIC_KEY 时也能正常登录
  • 管理员密码:启动时(init-data: true)将 admin 密码同步为 config.yml 中的 ldap.admin-pass,配置即真相源
  • 登录页:从后端拉取公钥后再加密密码;加密失败时给出明确提示
  • 静态资源:修复 EmbedMiddleware 中嵌入前端的 JS/CSS 路径,解决 404

部署

make all 或按 README 构建后,使用 config.yml 中的 ldap.admin-pass(默认 123456)登录 admin 账号即可。