2009-12-22 6 views
0

ce qui im ​​est l'expérimentation suivante:Authentifier ne retourne rien

S:\proj>manage.py shell 
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) django 1.1.1 

>>> from django.contrib.auth.models import User 
>>> u = User(username='luis', password='admin') 
>>> u.save() #sucessfull created in mysql db 
>>> from django.contrib.auth import authenticate 
>>> usuario = authenticate(username='luis', password='admin') 
>>> usuario 
>>> 

Authentifier rien de retour, ce que je suis absent?

Répondre

4

Le problème n'est pas avec authenticate, mais avec votre création de l'utilisateur.

La valeur stockée dans u.password doit être la valeur hachée du mot de passe, et non le mot de passe brut lui-même.

Vous pouvez utiliser u.set_password('password') pour prendre soin du hash pour vous:

>>> u = User(name='luis') 
>>> u.set_password('password') 
>>> u.save() 
>>> authenticate(username='luis', password='password') 
<User: luis> 
+0

faaaaaaaaaaaaast et furiousssssss – panchicore

Questions connexes