Проверка подлинности SQL Server Windows с использованием учетных данных других людей - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь подключиться к базе данных SQL Server (где разрешена только аутентификация Windows) через Python.часть Python служит веб-API, а управление разрешениями находится в группе AD на сервере SQL.Таким образом, вместо того, чтобы использовать свою личность, мне нужно использовать чужие (при условии, что у них есть имя пользователя и пароль для Windows)

Предполагая, что я пользователь A, и я пытаюсь войти на сервер от имени пользователя B.(Конечно, я знаю его логин Windows).Во-первых, я использую Python-ldap для получения аутентификации.

# This step runs successfully
conn_ladp = ldap.initialize("ldap://ladp_address:389")
login_str = 'userB@domain.com'
password = 'userB_pw'
handle = conn_ladp.simple_bind_s(login_str ,password)

Затем я пытаюсь подключиться к серверу

conn_sql = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=server_name;Trusted_Connection=yes;')
cursor = conn_sql.cursor()
# I checked the permision, it's still using user A's identity.
cursor.execute('some query')

Однако это все еще под моей текущей идентификацией (пользователь A),Кажется, между ldap и pyodbc есть некоторая «недопонимание».Может ли кто-нибудь помочь мне разобраться, как их соединить и решить проблему?Спасибо.

...