使用NTLM SSPI将Python Urllib2与Windows身份验证集成

时间:2016-05-05 16:04:19

标签: python sharepoint authorization urllib2 ntlm

这是以下答案的后续问题:

Authorise with current user credentials for Python script accessing SharePoint list using NTLM

我正在尝试与SharePoint列表进行交互,而不会在脚本中传递或硬编码密码。

上一个答案中提供的解决方案与请求库一起成功运行,但我无法将其集成到用于与SharePoint交互的urllib2函数中。

下面的函数目前使用硬编码密码,但我更喜欢使用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()。 还替换为完整请求字符串:requests.get(site_url, auth=HttpNtlmSspiAuth())。也没有运气。

我也尝试过与auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)一行,但我不在自己的深度。到目前为止,审查NTLM文档还没有产生解决方案。

非常感谢您的意见和建议。

0 个答案:

没有答案