Django1.4.5で奇妙な認証の問題が発生しています。
user.save()を呼び出すとすぐに、パスワードハッシュが変更され、指定された生のパスワードに対して正常にチェックされません。
In [17]: user.check_password('test')
Out[17]: False
In [18]: user.set_password('test')
In [19]: user.check_password('test')
Out[19]: True
In [20]: user.save()
In [21]: user.check_password('test')
Out[21]: False
パスワードはpbkdf2_sha256ハッシャーでハッシュされます。
In [22]: user.password
Out[22]: 'pbkdf2_sha256$10000$Aj5RbYndelmz$j35cic6UBh/HWnD//7TMfGWEtt7j4+T6970lOezpc1U='
したがって、スーパーユーザーを作成した後でも:
python manage.py createsuperuser
指定された資格情報でログインできません。
user.save()がパスワードハッシュを変更するのはなぜですか?この問題を解決するにはどうすればよいですか?