Skip to content

Commit 87b48b5

Browse files
committed
feat: Hive datasource supports LDAP authentication
1 parent 10663cc commit 87b48b5

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

backend/apps/db/db.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,19 @@ def get_driver_connection(ds: CoreDatasource | AssistantOutDsSchema, db_config:
272272
)
273273
elif equals_ignore_case(ds.type, 'hive'):
274274
if not use_pool:
275-
conn = hive.connect(host=conf.host, port=conf.port, username=conf.username,
276-
database=conf.database, **conn_conf)
275+
conn = hive.connect(host=conf.host, port=conf.port, username=conf.username, database=conf.database,
276+
password=conf.password if conf.password else None,
277+
auth='LDAP' if conf.password else None, **conn_conf)
277278
else:
278279
conn = PooledDB(
279280
creator=hive,
280281
host=conf.host,
281282
port=conf.port,
282283
username=conf.username,
283-
database=conf.database, **conn_conf
284+
database=conf.database,
285+
password=conf.password if conf.password else None,
286+
auth='LDAP' if conf.password else None,
287+
**conn_conf
284288
)
285289

286290
return conn
@@ -367,7 +371,9 @@ def check_connection(trans: Optional[Trans], ds: CoreDatasource | AssistantOutDs
367371
return False
368372
elif equals_ignore_case(ds.type, 'hive'):
369373
with hive.connect(host=conf.host, port=conf.port, username=conf.username,
370-
database=conf.database, **extra_config_dict) as conn, conn.cursor() as cursor:
374+
database=conf.database, password=conf.password if conf.password else None,
375+
auth='LDAP' if conf.password else None,
376+
**extra_config_dict) as conn, conn.cursor() as cursor:
371377
try:
372378
cursor.execute('select 1')
373379
SQLBotLogUtil.info("success")

0 commit comments

Comments
 (0)