diff --git a/lib/dborm/dborm.go b/lib/dborm/dborm.go index 55edab18..1d8cd066 100644 --- a/lib/dborm/dborm.go +++ b/lib/dborm/dborm.go @@ -746,20 +746,17 @@ func XormCheckLoginUser(name, password, cryptArgo string) (bool, *User, error) { if t.Before(time.Now()) { errMsg := "密码到期时间" // 读取配置信息 - result, err := xEngine.QueryString("SELECT value_json FROM omc_db.config WHERE id=20;") + result, err := XormGetConfig("Security", "pwdStrong") if err != nil { return false, nil, err } - if len(result) > 0 { - data := make(map[string]any) - err := json.Unmarshal([]byte(result[0]["value_json"]), &data) - if err != nil { - log.Error("json Unmarshal:%s", errMsg, data) - return false, nil, err - } - errMsg = data["outTimeMsg"].(string) - + data := make(map[string]any) + err = json.Unmarshal([]byte(result["value_json"].(string)), &data) + if err != nil { + log.Error("json Unmarshal:%s", errMsg) + return false, nil, err } + errMsg = data["outTimeMsg"].(string) log.Error("PasswordExpiration:%s", errMsg) return false, nil, errors.New(errMsg) } @@ -800,6 +797,18 @@ func XormIsExistUser(accid string) (bool, error) { return exist, nil } +func XormGetConfig(moduleName, configTag string) (map[string]any, error) { + result, err := DbClient.XEngine.QueryInterface("select * from config where module_name=? and config_tag=?", moduleName, configTag) + if err != nil { + log.Error("Failed to get config:", err) + return nil, err + } + if len(result) > 0 { + return result[0], nil + } + return map[string]any{}, nil +} + func XormGetConfigValue(moduleName, configTag string) (string, error) { var value string _, err := xEngine.Table("config").