计划用 Python 编写一个 Web 应用程序,Django 是框架的主要竞争者。
一项要求是 CAC 访问,无需手动输入用户名和密码。据我所知,CAC 访问不是 Django 包含的“电池”的一部分。
作为一个整体框架(不一定是一个坏属性),一旦你修改了核心,Django 就有一个高维护的代表。我可以轻松地将 CAC 访问权限添加到 Django 站点吗?以后可以轻松维护吗?
或者也许我们应该考虑一个不同的 Python 框架?
仅供参考..关于 CAC 访问链接的有趣演示
计划用 Python 编写一个 Web 应用程序,Django 是框架的主要竞争者。
一项要求是 CAC 访问,无需手动输入用户名和密码。据我所知,CAC 访问不是 Django 包含的“电池”的一部分。
作为一个整体框架(不一定是一个坏属性),一旦你修改了核心,Django 就有一个高维护的代表。我可以轻松地将 CAC 访问权限添加到 Django 站点吗?以后可以轻松维护吗?
或者也许我们应该考虑一个不同的 Python 框架?
仅供参考..关于 CAC 访问链接的有趣演示
您无需修改核心即可启用此功能。Django 支持第三方身份验证后端,并且它们相当容易编写 - 你只需要支持两种方法,get_user
并且authenticate
. 因此,您的实现只需要使用您的 CAC 接口执行这些操作,一切都会照常工作。
有关详细信息,请参阅文档。
在其他答案后编辑我不知道为什么人们说这在 Django 中很困难。是的,Django 的许多部分都很难定制。但这是一个非常容易的特殊部分。我在 Django 中编写了几个身份验证后端,它们不仅非常简单,而且它们“只适用于”框架的其余部分,包括管理员。无需修改任何其他内容即可使其正常工作。
I just did this today by subclassing django.contrib.auth.middleware.RemoteUserMiddleware and changed the header property to the one I had set in my apache conf. I just added the django.contrib.auth.backends.RemoteUserBackend and my middleware to the settings and it works perfectly.
扩展 contrib.auth 令人头疼。这是 django 中最糟糕的事情。如果您需要高度自定义的身份验证后端,我建议您使用不同的框架。