我正在写一个Django应用程序。我想覆盖Django用户模型,原因如下:
1)我想使用LDAP进行身份验证。因此,我不需要Django身份验证。
2)我已经有了一个用户表,我想重用那个表。我不希望Django为我创建一个dup表。表结构也不能很好地“适应”Django User模型。
因此,我想覆盖Django User类。
有没有人能够从中学到任何好的榜样?
答案 0 :(得分:2)
已经有用于使用LDAP进行身份验证的django库。我想我过去曾成功使用django-auth-ldap。 (虽然我通常需要一位LDAP专家来帮助我进行配置。)
documentation包含有关如何实施自定义用户模型的说明。首先执行此操作要容易得多(甚至在第一次迁移之前)。
答案 1 :(得分:0)
如果您想使用自己的用户表,则需要查看此处记录的AbstractBaseUser
:
使用它,您必须使用USERNAME_FIELD
定义哪个字段将用作模型中的用户名。如果要手动应用更改并使模型和数据库表自行保持同步,您可能还希望将模型设置为managed = False
。
我用Django-python3-ldap获得了最好的运气:https://github.com/etianen/django-python3-ldap
我们已经使用OpenTAP在Python 3的生产中使用它已有好几年了,而且它还支持Active Directory。祝你好运!