3

当用户登录到他的桌面时,Windows 操作系统会针对 Active Directory Server 对他进行身份验证。所以每当他访问一个网页时,他不应该被抛出一个登录页面来输入他的用户名或密码。相反,他的用户名和域需要从他的桌面捕获并传递给网络服务器。(让他输入密码之后)

这是否可以在 python 中获取客户端的用户名和域?win32api.GetUserName() 给出服务器端的用户名。

提前致谢

4

3 回答 3

0

嗯...您可能想要做的是使用 Django 的 RemoteUserMiddleware 并将用户身份验证留给 Web 服务器,然后可以将其配置为处理它。来自Django 中的 Ntlm/Kerberos 身份验证的解决方案应该可以工作,但如前所述,它有点古怪 - 并非所有浏览器都正确支持它,您必须修改浏览器设置才能使其正常工作。

于 2013-02-22T14:37:22.170 回答
0

您想要做的称为单点登录 (SSO),它在实际 Web 服务器上实现比在 Django 上容易得多。

因此,您应该检查如何在 Apache/Nginx/whateverYouAreUsing 上进行 SSO,然后 Web 服务器会将经过身份验证的用户名转发到您的 django 应用程序。

于 2015-08-25T15:10:37.693 回答
-1

这对我来说听起来像是一个javascript问题。我认为您必须将 javascript 添加到您的登录页面,以尝试访问详细信息并将其返回到服务器。

我原以为会有安全措施来防止这种情况发生,但是这个问题表明其他人也做了类似的事情。

更新

看起来django 文档中可能有一些有用的信息

于 2013-02-22T13:12:07.333 回答