首页 > 解决方案 > WSL 可以继承 Windows 身份验证凭据吗

问题描述

我在专门的 Windows 环境中使用 WSL,因为有许多工具仅适用于 Linux。我经常以编程方式连接到数据库,并且希望能够在不指定我的登录信息的情况下做到这一点。例如,通过 Windows在 Python 中,我可以这样做:

import pymssql

con = pymssql.connect(server, port)

并且无需我指定任何凭据即可通过该连接,因为我的 AD 帐户可以访问服务器,并且 pymssql 将在未指定凭据时使用 windows auth。

但是,在 WSL 上运行的 python 中,这不起作用,因此要建立相同的连接,我必须另外传递userandpassword参数。

在运行 Linux 进程时,有什么方法可以让 WSL 继承 Windows 身份验证?

标签: windowswindows-10windows-authenticationwindows-subsystem-for-linux

解决方案


我得到了你的家人!

这是解决方案:http: //michaeljw.com/blog/post/keyring-r-python-windows/

这是酱汁:

  1. 使用 Windows 凭据管理器存储您要使用的凭据

https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0

  1. 这是在 Python 中访问凭证管理器的命令:

keyring.get_password(u"[域或 URI]", u"[用户名]")


只要用户在信用管理器中,您就应该能够使用该命令来改变信用。您可能需要稍微尝试一下才能使其正确,但它会起作用。请务必阅读链接的文章。

享受


推荐阅读