python - Django 中基于表单的 Kerberos 身份验证

标签 python django authentication kerberos

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

但是,这有一些缺点:

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

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

如何做到这一点?是否已经有解决方案或解决我的问题的项目?我看到的大多数实现like the ones in the answers here只需使用 Apache 或 LDAP 身份验证,但不使用 Kerberos。

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

最佳答案

抱歉,这件事延迟了。我是上面推荐的 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 )。

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

相关文章:

api - 如何验证用户从 Web 应用程序到 API 的身份?

python - 如何将python字典保存到json文件中?

python - 如何访问模块对象上的 dir() Python 属性?

php - 不使用数据库的 Lumen HTTP 基本身份验证

mysql - 如何解决cmdb启动问题

python - 如何在 Django channel 中为消费者编写单元测试?

php - 在 Symfony2 中从 AuthenticationHandler 设置 flashMessage

python - 为什么 matplotlib 用这么多颜色为我的图着色?

python - 使用 urllib 下载 HTTPS 页面,错误 :14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error

python - 在 Django loaddata 中,它会抛出 json 格式的错误,但对于 yaml 格式却可以正常工作,为什么?