Интегрирайте Python Urllib2 с удостоверяване на Windows чрез NTLM SSPI

Това е последващ въпрос от отговора по-долу:

Упълномощаване с текущи потребителски идентификационни данни за Python скрипт достъп до списъка на SharePoint чрез NTLM

Опитвам се да се свържа със списък на SharePoint, без да подавам или твърдо кодирам парола в моя скрипт.

Решението, предоставено в предишния отговор, работи успешно с библиотеката със заявки, но не мога да го интегрирам във функцията urllib2, която използвам за интерфейс с SharePoint.

Функцията по-долу в момента работи с твърдо кодирана парола, но бих предпочел да използвам SSPI удостоверяване, за да не вграждам pw в скрипта.

def read_sharepoint_list(current_project):
    username = "Domain\\user.name"
    password = "my_password"

    # the sharepoint info
    site_url = "http://SharePoint/"
    list_name = "My List"

    # an opener for the NTLM authentication
    passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
    passman.add_password(None, site_url, username, password)
    auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)

    # create and install the opener
    opener = urllib2.build_opener(auth_NTLM)
    urllib2.install_opener(opener)

Съсредоточих опитите си да интегрирам върху компонента passman.addpassword() на функцията по-долу без успех.

Смених паролата HttpNtlmSspiAuth() call. Също така са заменени с пълния низ на заявките: requests.get(site_url, auth=HttpNtlmSspiAuth()). Няма късмет и с двете.

Също така се опитах да се ангажирам с линията auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman), но не съм в състояние. Прегледът на документацията за NTLM досега не е дал решение.

Вашите мисли и предложения са високо оценени.


person jdg    schedule 05.05.2016    source източник