gpt4 book ai didi

django - Django 中的 Ntlm/Kerberos 身份验证

转载 作者:行者123 更新时间:2023-12-03 23:25:21 25 4
gpt4 key购买 nike

我正在寻找有关将 Windows 身份验证支持添加到 django 应用程序的指南,特别是 OSQA
我知道 http://code.google.com/p/python-ntlm/
还看到了这个帖子:http://erny-rev.blogspot.com/2007/11/ntlm-authentication-in-django.html
但是我不是django-dev,我只是想在windows环境下部署OSQA(内网,所以需要加windows认证)。所以我正在寻找简单的分步描述。
(我已经设法使用 SQL Server 在 Windows 上部署了一个 OSQA 站点并且它正在运行)
更新:
我不仅希望获得针对 AD 的身份验证,还希望获得 IE 中类似 SSO 的行为。当用户在 IE 中访问我的基于 django 的站点时,它会自动使用其域帐户进行身份验证。

最佳答案

您可以使用 Apache、mod_auth_kerb 和 REMOTE_USER 身份验证以及作为 mod_wsgi 托管的 Django 来执行此操作。

这是我们使用的一些配置的示例:

WSGIDaemonProcess myapp user=myapp group=myapp processes=5 threads=1
WSGIProcessGroup myapp
WSGIScriptAlias /myapp /home/wolapp/code/wolapp.wsgi
<VirtualHost ...>
<Location /myapp>
AuthType Kerberos
AuthName "Domain Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms YOUR.DOMAIN
Krb5Keytab /etc/krb5.keytab
KrbServiceName HTTP/server.your.domain
require valid-user
</Location>
</VirtualHost>

然后你需要设置这个:

http://docs.djangoproject.com/en/dev/howto/auth-remote-user/

需要注意的几个警告:
  • Opera 在我们的测试中完全失败;它无法处理“协商”标题
  • 如果机器在域中,IE 可以正常工作,但如果不在域中,则会提示您输入密码两次 - 第一次机器使用失败的“ITSNAME\username”;第二次裸“用户名”

  • 希望这可以帮助。

    关于django - Django 中的 Ntlm/Kerberos 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401512/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com