是否可以在django_auth中更改哈希算法?

时间:2012-01-09 20:09:38

标签: django django-authentication

我有一个与用户一起运行的wiki。现在我想在Django中编写一个应用程序来执行特定任务。

我必须使用我的“旧”用户/组数据库(其密码具有不同的哈希算法,然后是django_auth)并且不时地同步它,因为我的用户已经拥有一个必须在任何地方都相同的登录。 / p>

我也想使用django_auth。

是否可以更改django_auth中的哈希算法?

以便django auth使用我编写的函数来检查插入的密码是对还是错。

先谢谢,Senad。 =)

3 个答案:

答案 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