[BUG] Hive 数据源连接密码未传递导致 LDAP 认证失败
@xuwei-fit2cloud がすでに取り組んでいます。
2026年6月22日 から。
- 主要言語
- JavaScript
- スター
- 6.8k
- フォーク
- 882
- 平均マージ
- 4時間 37分
- マージ済み PR(30日)
- 32
説明
SQLBot Version
1.9.0
Run Mode
Is it running in a Docker container or running from source code?
running in a Docker container
Describe the bug
A clear and concise description of what the bug is.
新建 Hive数据源时,即使在前端页面正确填写了密码,连接测试仍然报 LDAP 认证失败:PLAIN auth failed: javax.security.sasl.AuthenticationException: Error validating LDAP user [Caused by javax.naming.AuthenticationException: [LDAP: error code 49 - INVALID_CREDENTIALS: Bind failed]]。而使用 DBeaver 等工具使用相同连接信息可以正常连接。
To Reproduce
Steps to reproduce the behavior:
1.进入"数据源"页面,点击"新建数据源"
2.选择类型 "Apache Hive"
3.填写正确的 Host、Port、用户名(如 sql_bot_test)、密码、数据库名
4.点击"连接测试"
5.弹出连接失败提示,报 LDAP 认证错误
Expected behavior
A clear and concise description of what you expected to happen.
在前端正确填写密码后,SQLBot 应能正常通过密码认证连接到 Hive 数据源,无需用户在额外配置中手动传入密码。
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
后端 backend/apps/db/db.py 中所有 4 处 pyhive.hive.connect() 调用(第 255 行连接检查、第 444 行获取表、第 504 行获取字段、第 700 行执行 SQL)均未传入 password=conf.password 参数
HiveServer2 收到空密码后向 LDAP 发起绑定请求,LDAP 服务器拒绝空密码认证,导致报 INVALID_CREDENTIALS
临时绕过方式:在"额外的数据库连接配置"中填入 auth=LDAP&password=实际密码
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。