WSL是否可以继承Windows身份验证凭据

时间:2019-03-11 13:55:09

标签: windows windows-10 windows-authentication windows-subsystem-for-linux

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

public function run()
    {
        $default = new Technician;
        $default->id = 1;
        $default->name = "DESCONOCIDO";
        $default->str_id = 1;
        $default->save();
    }

由于我的AD帐户可以访问服务器,因此无需我指定任何凭据即可进行该连接,并且在未指定凭据的情况下pymssql将使用Windows auth。

但是在WSL上运行的python中却无法正常工作,因此要进行相同的连接,我还必须另外传递import pymssql con = pymssql.connect(server, port) user参数。

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

1 个答案:

答案 0 :(得分:0)

我得到了你的家人!

这是解决方案: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"[用户名]")


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

享受