一个用Python编写的web应用程序正在计划中,Django是一个领先的竞争者作为框架。
其中一个要求是访问CAC,而不需要手动输入用户名和密码。据我所知,CAC访问不是Django包含的“电池”的一部分。
作为一个整体框架(不一定是一个糟糕的属性),一旦修改了核心,Django就具有高维护性的特点。我可以轻松地将CAC访问添加到Django站点吗?之后可以很容易地维护它吗?
或者我们应该考虑一个不同的Python框架?
仅供参考。关于CAC access link的有趣演示
发布于 2010-09-19 18:22:13
你不需要修改内核来实现这一点。Django支持第三方身份验证后端,并且它们非常容易编写-您只需要支持两个方法:get_user和authenticate。因此,您的实现只需要使用CAC接口执行这些操作,一切都将照常工作。
详情请参见the documentation。
我不知道为什么人们会说这在中很难。是的,Django的许多部分很难定制。但这是一个非常容易实现的特殊部分。我已经用Django编写了几个身份验证后端,它们不仅非常简单,而且“只需与框架的其余部分一起工作”,包括管理员。不需要修改任何其他东西就可以让它工作。
发布于 2012-11-16 05:13:40
我今天只是通过将django.contrib.auth.middleware.RemoteUserMiddleware子类化并将header属性更改为我在apache conf中设置的属性来做到这一点。我只需将django.contrib.auth.backends.RemoteUserBackend和我的中间件添加到设置中,它就可以完美地工作。
发布于 2010-09-19 18:19:46
扩展contrib.auth是一件令人头疼的事情。这是django最糟糕的事情。如果您需要高度定制的auth后端,我建议您使用不同的框架。
https://stackoverflow.com/questions/3745291
复制相似问题