我正在使用将Active Directory进行身份验证的PHP应用程序。我正在尝试使用Windows Linux子系统(WSL)进行开发。启动WSL时,您将使用不同的密码创建本地用户。我试图弄清楚如何使用AD。我发现了一个问题(https://superuser.com/questions/1248278/wsl-and-ad-domain-account),但唯一的回答是评论对我来说并没有什么联系。它提到了配置IdM提供程序,但是我不清楚在WSL中是如何完成的。
有人知道我如何在WSL中将Active Directory用于用户/登录吗?
答案 0 :(得分:0)
我得到了你的家人!
这是解决方案:http://michaeljw.com/blog/post/keyring-r-python-windows/
这是酱汁:
使用 Windows 凭据管理器存储您要使用的凭据 https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0
这是在 Python 中访问凭证管理器的命令: keyring.get_password(u"[域或 URI]", u"[用户名]")
只要用户在信用管理器中,您就应该能够使用该命令来改变信用。您可能需要稍微尝试一下才能让它正确,但它会起作用。请务必阅读链接的文章。
享受
我从我对这个问题的回答中复制了它们与您的链接: Can WSL inherit windows auth credentials
答案 1 :(得分:0)
这不是一个完整的答案,但是 wsl 1 没有使用 sssd 执行此操作所需的套接字支持。下面是 sssd -i 上的 strace 片段。所以理论上我认为你应该能够用 wsl 2 做到这一点。
11:12:22 bind(14, {sa_family=AF_NETLINK, nl_pid=-2092926910, nl_groups=00000000}, 12) = 0
11:12:22 getsockname(14, {sa_family=AF_NETLINK, nl_pid=-2092926910, nl_groups=00000000}, [12]) = 0
11:12:22 setsockopt(14, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
11:12:22 setsockopt(14, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, [1], 4) = -1 EINVAL (Invalid argument)
(2021-08-09 11:12:22): [sssd] [nlw_group_subscribe] (0x0020): Unable to add membership: Invalid input data or parameter
虽然我还没有测试过在 wsl 1.0 上注册类似领域的东西。