在post之后(我正在寻找允许我在ldap后端声明Django模型的库),我决定使用ldapdb。在与这个库玩了一段时间后,我发现它没有达到我需要的控制水平,因此我正在寻找其他解决方案。我现在想的是基于python-ldap
实现Django数据库后端。
修改
我需要这个,因为我目前正在ldap目录上实现一个用户/组管理系统(它要求不仅能够操作用户,还能操作不同类别的ldap对象)。所以基本上,我希望能够使用(几乎)完整的Django orm,但是使用ldap后端。
因为我喜欢Django(并且会非常积极地学习db.backends的脏的低级细节),并且因为在这个项目中已经实现了很多东西,所以我想坚持使用Django(除非有人我有一个非常好的理由不应该,也是一个非常好的选择!)。
答案 0 :(得分:1)
你做了很多大胆的陈述,例如“由于实施方式而导致许多事情被破坏”和“子类化非常不完整”,您是否愿意详细阐述它们?作为django-ldapdb的作者,我欢迎你提出你想改变/修改的建议,这就是django-ldapdb邮件列表的用途!
仅供参考,我采用了继承Model类的方法,因为您通常只想使用LDAP后端的几个模型,而不是应用程序中的所有模型,而django 1.1不支持多个数据库。此外,LDAP与现有的SQL后端非常不同:
由于所有这些原因,我对通过编写真正的LDAP后端可以实现什么感到严重怀疑。我认为你总会有一些特定于LDAP的怪癖,而子类化Model只允许这样。
答案 1 :(得分:0)
您最好的选择可能是为应用程序编写身份验证后端。这是一些关于它的文档:
http://docs.djangoproject.com/en/dev/topics/auth/?from=olddocs#writing-an-authentication-backend
这篇文章解释了如何扩展User模型,使您能够无缝地使用此身份验证后端:
http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/
答案 2 :(得分:0)
似乎没有真正好的解决方案。在没有Django的ORM的情况下做任何事情也不是一个好的解决方案。
我将尝试尽快解决这个问题,使用基于django-orm的解决方案。