Repository navigation
Releases: dashug/ldap-admin-platform
Releases · dashug/ldap-admin-platform
Release list
v1.2.1
🔧 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
🐳 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此前固定 Go1.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 模式下用户操作
🐛 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 — 管理控制台增强
本次发布为管理控制台带来一组配置与运维能力增强。图文使用说明见 管理控制台使用指南。
✨ 新功能
设置中心(独立页面 + 路由)
- 目录配置、平台对接、通知设置由内嵌弹窗抽离为独立页面,侧边栏「设置」分区直接指向;新增「定时同步」「登录安全」
- 命令面板(⌘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
变更说明
- 登录公钥:新增
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 账号即可。