我有一个 Django 应用程序,它RemoteUserBackend
结合使用 Apache 和 mod_auth_kerb 来针对 Kerberos 进行身份验证。
但是,这有一些缺点:
- 如果不关闭浏览器选项卡,就没有正确的注销。您可以在您的 Django 应用程序中单击“注销”,但是当我尝试再次登录时,我希望被要求提供我的凭据 - 后者不是这种情况。(旁注:我的应用程序很可能有两个用户想要一个接一个地登录,这增加了不舒适性,并且当一个用户使用另一个用户的权限执行操作时可能会出现问题。)
- 该应用程序目前是为 Apache/RemoteUser 解决方案量身定制的,因此它确实不提供切换到其他身份验证方法的灵活性,例如针对 Django 数据库的身份验证。使用替代身份验证方法的可能性也将简化应用程序的开发。
也就是说,我想使用基于表单的身份验证(用户名/密码)。这会将身份验证的控件移至 Django,因此登录/注销应该可以正常工作。此外,这种形式也可以与不同的身份验证后端一起使用,而无需修改 GUI。
如何才能做到这一点?是否已经有解决方案或解决我的问题的项目?我在此处的答案中看到的大多数实现只使用 Apache 或 LDAP 身份验证,而不是 Kerberos。