From b4521d13a195ecc2b67e2cbf94ebf5b2ddc5002a Mon Sep 17 00:00:00 2001 From: "Logan.Li" Date: Mon, 19 Oct 2026 04:10:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(seed):=20LDAP=20=E7=AE=A1=E7=90=86=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E4=B8=8D=E5=86=8D=E7=A1=AC=E7=BC=96=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BB=8E=20LDAP=5FADMIN=5FPASSWORD=20?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/seed/seed.go | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/backend/seed/seed.go b/backend/seed/seed.go index 082da98..9d8b5b2 100644 --- a/backend/seed/seed.go +++ b/backend/seed/seed.go @@ -1,6 +1,7 @@ package seed import ( + "os" "strings" "ezops/model" @@ -36,27 +37,33 @@ func SeedData(db *gorm.DB) { } // 2. 创建默认 LDAP 配置 + // LDAP 管理密码只从环境变量 LDAP_ADMIN_PASSWORD 读取,不写入代码库 var ldapCount int64 db.Model(&model.LDAPConfig{}).Count(&ldapCount) if ldapCount == 0 { - port := 389 - useLDAPS := false - searchFilter := "(objectClass=inetOrgPerson)" - userMapping := `{"username":"uid","email":"mail","display_name":"cn"}` - ldapCfg := model.LDAPConfig{ - LDAPHost: "8.217.205.92", - LDAPPort: &port, - UseLDAPS: &useLDAPS, - AdminDN: "cn=admin,dc=opsx,dc=vip", - AdminPassword: "LQl2GX7EEg2N", - BaseDN: "dc=opsx,dc=vip", - SearchFilter: &searchFilter, - UserMapping: &userMapping, - } - if err := db.Create(&ldapCfg).Error; err != nil { - zap.L().Warn("failed to seed LDAP config", zap.Error(err)) + ldapPassword := os.Getenv("LDAP_ADMIN_PASSWORD") + if ldapPassword == "" { + zap.L().Info("LDAP_ADMIN_PASSWORD 未设置,跳过 LDAP 默认配置初始化(请在页面手动配置)") } else { - zap.L().Info("seeded default LDAP config (8.217.205.92:389)") + port := 389 + useLDAPS := false + searchFilter := "(objectClass=inetOrgPerson)" + userMapping := `{"username":"uid","email":"mail","display_name":"cn"}` + ldapCfg := model.LDAPConfig{ + LDAPHost: "8.217.205.92", + LDAPPort: &port, + UseLDAPS: &useLDAPS, + AdminDN: "cn=admin,dc=opsx,dc=vip", + AdminPassword: ldapPassword, + BaseDN: "dc=opsx,dc=vip", + SearchFilter: &searchFilter, + UserMapping: &userMapping, + } + if err := db.Create(&ldapCfg).Error; err != nil { + zap.L().Warn("failed to seed LDAP config", zap.Error(err)) + } else { + zap.L().Info("seeded default LDAP config (8.217.205.92:389)") + } } }