如何使用 Windows 身份验证代替存储/传递密码?

How can I use Windows authentication in lieu of storing / passing a password?

我正在寻找一种方法来避免在尝试连接到 Windows SharePoint 站点时存储/输入密码。我正在使用 urllib2

当我在下面的代码中将 "user" 和 "password" 作为字符串传递时,脚本可以正常运行。我宁愿利用 Windows 身份验证来避免必须在脚本中存储密码。

import os
import urllib2
from ntlm import HTTPNtlmAuthHandler


user = '%s\%s' % ( os.environ["USERDOMAIN"], os.environ["USERNAME"] )
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, server, user, password)

是否有类似于在 pyodbc 中使用 "Trusted Connection" 的东西:

cnxn = pyodbc.connect("""Driver={SQL Server};Server=Whatever;Database=Whatever;**Trusted_Connection=yes**""")

找了半天,一无所获。我很感激任何建议。

如果存储密码有效,那么我建议只存储密码。尝试使用 Python 的密钥环模块来执行此操作。 https://pypi.python.org/pypi/keyring

这将确保凭据在用户用于连接的任何平台上的安全。