使用当前用户凭据授权以使用NTLM的Python脚本访问SharePoint列表

 

问题描述:

我有一个脚本,用于检查SharePoint列表中的特定文件修订并返回结果。这种方法效果很好,但是目前我的授权方法要求我在代码中包含自己的密码才能访问SharePoint列表,这不理想,因为必须经常更新密码并且其他用户可以查看我的登录详细信息。

有人可以为我指出使用当前用户凭据访问SharePoint网站的正确方向吗?我一直在转转查看ActiveDirectory,NTLM,SOAP等,并且无法解释其中哪一种是最合适的方法。

我正在使用Python 2.7,其工作功能如下:

import urllib2
from sharepoint import SharePointSite
from ntlm import HTTPNtlmAuthHandler

def read_sharepoint_list(current_project):
    # my Windows credentials
    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)
    # create a SharePointSite object
    site = SharePointSite(site_url, opener)
    sp_list = site.lists[list_name]

    for row in sp_list.rows:
        if current_project in row.Filename:
            basecase_rev = row.Rev

    return basecase_rev

如何使用SQLAlchemy获得有限结果的总数。我目前正在使用Postgres,所以我知道我可以使用窗口函数。我基本上想知道如何在SQLAlchemy中编写以下内容:SELECT foo ,c ...