Авторизуйтесь, используя текущие учетные данные пользователя для сценария Python, обращающегося к списку SharePoint с использованием NTLM
У меня есть сценарий, который проверяет список 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