Django和通用访问卡(CAC)

时间:2010-09-19 10:13:40

标签: django pki django-authentication cac

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

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

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

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

仅供参考。有关CAC访问的有趣介绍link

3 个答案:

答案 0 :(得分:1)

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

有关详细信息,请参阅the documentation

其他答案后编辑我不知道为什么人们会说Django很难。是的,Django的许多部分很难定制。但这是非常简单的一个特殊部分。我在Django中编写了几个身份验证后端,它们不仅非常简单,而且还“与框架的其余部分一起工作”,包括管理员。没有必要修改任何其他内容来使其工作。

答案 1 :(得分:0)

扩展contrib.auth是一个痛苦的问题。这是django中最糟糕的事情。如果您需要高度自定义的auth后端,我建议使用不同的框架。

答案 2 :(得分:0)

我今天刚刚通过继承django.contrib.auth.middleware.RemoteUserMiddleware并将header属性更改为我在apache conf中设置的属性。我刚刚将django.contrib.auth.backends.RemoteUserBackend和我的中间件添加到设置中,它运行良好。