3

计划用 Python 编写一个 Web 应用程序,Django 是框架的主要竞争者。

一项要求是 CAC 访问,无需手动输入用户名和密码。据我所知,CAC 访问不是 Django 包含的“电池”的一部分。

作为一个整体框架(不一定是一个坏属性),一旦你修改了核心,Django 就有一个高维护的代表。我可以轻松地将 CAC 访问权限添加到 Django 站点吗?以后可以轻松维护吗?

或者也许我们应该考虑一个不同的 Python 框架?

仅供参考..关于 CAC 访问链接的有趣演示

4

3 回答 3

2

您无需修改​​核心即可启用此功能。Django 支持第三方身份验证后端,并且它们相当容易编写 - 你只需要支持两种方法,get_user并且authenticate. 因此,您的实现只需要使用您的 CAC 接口执行这些操作,一切都会照常工作。

有关详细信息,请参阅文档

在其他答案后编辑我不知道为什么人们说这在 Django 中很困难。是的,Django 的许多部分都很难定制。但这是一个非常容易的特殊部分。我在 Django 中编写了几个身份验证后端,它们不仅非常简单,而且它们“只适用于”框架的其余部分,包括管理员。无需修改任何其他内容即可使其正常工作。

于 2010-09-19T10:22:12.730 回答
0

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.

于 2012-11-15T21:13:40.063 回答
-1

扩展 contrib.auth 令人头疼。这是 django 中最糟糕的事情。如果您需要高度自定义的身份验证后端,我建议您使用不同的框架。

于 2010-09-19T10:19:46.327 回答