我有一个与用户一起运行的wiki。现在我想在Django中编写一个应用程序来执行特定任务。
我必须使用我的“旧”用户/组数据库(其密码具有不同的哈希算法,然后是django_auth)并且不时地同步它,因为我的用户已经拥有一个必须在任何地方都相同的登录。 / p>
我也想使用django_auth。
是否可以更改django_auth中的哈希算法?
以便django auth使用我编写的函数来检查插入的密码是对还是错。
先谢谢,Senad。 =)
答案 0 :(得分:3)
来自Integrating with an Authentication System, chapter18 of djangobook
可以将Django与现有身份验证集成 system - 用户名和密码或身份验证的另一个来源 方法。 您可以覆盖Django的默认基于数据库的方案,或者您可以 与其他系统一起使用默认系统。
此外,在本书中,您可以学习如何编写自己的身份验证后端,实现两种方法:get_user(id)和authenticate(** credentials)。
答案 1 :(得分:1)
您可以编写一个custom authentication backend,其中包含自己的authenticate
函数,以根据您的自定义哈希检查密码。当然,您需要某种方法来区分不同类型的用户。
答案 2 :(得分:1)
是的,这是可能的。有关示例,请参阅django-bcyrpt。在Django 1.4中更改会更容易:https://docs.djangoproject.com/en/dev/releases/1.4/#improved-password-hashing