1

我有一个 Django 应用程序,它RemoteUserBackend结合使用 Apache 和 mod_auth_kerb 来针对 Kerberos 进行身份验证。

但是,这有一些缺点:

  1. 如果不关闭浏览器选项卡,就没有正确的注销。您可以在您的 Django 应用程序中单击“注销”,但是当我尝试再次登录时,我希望被要求提供我的凭据 - 后者不是这种情况。(旁注:我的应用程序很可能有两个用户想要一个接一个地登录,这增加了不舒适性,并且当一个用户使用另一个用户的权限执行操作时可能会出现问题。)
  2. 该应用程序目前是为 Apache/RemoteUser 解决方案量身定制的,因此它确实不提供切换到其他身份验证方法的灵活性,例如针对 Django 数据库的身份验证。使用替代身份验证方法的可能性也将简化应用程序的开发。

也就是说,我想使用基于表单的身份验证(用户名/密码)。这会将身份验证的控件移至 Django,因此登录/注销应该可以正常工作。此外,这种形式也可以与不同的身份验证后端一起使用,而无需修改 GUI。

如何才能做到这一点?是否已经有解决方案或解决我的问题的项目?我在此处的答案中看到的大多数实现只使用 Apache 或 LDAP 身份验证,而不是 Kerberos。

相关但未回答的问题:Django user logout with remote authentication

4

2 回答 2

3

抱歉,这延迟了。我是上面推荐的 Kerberos + Django 帖子 (roguelynn.com) 的作者。

对于您的第一个问题,请查看kobo: https ://fedorahosted.org/kobo/ - 它使用 Kerberos + RemoteUserBackend + Apache 和 Django,但实现了注销机制(在 kobo/django/xmlrpc/auth.py 中:https ://git.fedorahosted.org/cgit/kobo.git/tree/kobo/django/xmlrpc/auth.py)。

于 2013-08-22T22:19:08.420 回答
0

http://www.roguelynn.com/words/django-custom-user-models/

那篇博文很好地解释了如何使用 Kerberos 作为 Django 1.5 后端身份验证器。自 5 月 15 日起热销。她有很多不错的 kerberos 示例。

为了后人的缘故,以防博客有一天会消失,作者将她的博客文章作为静态文件存储在她的 github 存储库中。

https://github.com/econchick/roguelynn/blob/master/_posts/

于 2013-05-22T08:50:45.647 回答