django インストールを 1.2.3 から 1.4 にアップグレードした後、このauthenticate()
方法を使用できなくなりました。
check_password()
ただし、関数は正常に機能し、データベースの正しいテーブルで暗号化されたパスワードを確認できます。
>>> from django.contrib.auth.models import User
>>> u = User(username='joe', password='password')
>>> u.set_password('password')
>>> u.save()
>>> from django.contrib.auth import authenticate
>>> user = authenticate(username='joe', password='password')
>>> user # this is None
>>> u.check_password('password')
>>> True
>>> u.check_password('passwordxxxx')
>>> False
私の認証バックエンドは正常です..実験では、具体的に追加しました:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
これは私が信じているデフォルトです。
問題がどこにあるかをどのように確認できるかについて途方に暮れています..何かアイデアはありますか?
乾杯
-私