2009-03-08 9 views
1

Un quickie, et espérons-le facile. Je suis les docs au http://docs.djangoproject.com/en/dev/topics/auth/ pour obtenir juste une certaine authentification d'utilisateur simple en place. Je n'ai pas d'exigences particulières du tout, j'ai juste besoin de savoir si un utilisateur est connecté ou non, c'est à peu près tout. J'utilise le décorateur login_required, et cela fonctionne exactement comme je m'y attendais. J'utilise en fait le « django.contrib.auth.views.login » pour moi de connexion, et la forme exacte qu'ils montrent dans les docs:middleware de connexion django ne fonctionne pas comme prévu

{% if form.errors %} 
<p>Your username and password didn't match. Please try again.</p> 
{% endif %} 

<form method="post" action="."> 
<table> 
<tr> 
    <td>{{ form.username.label_tag }}</td> 
    <td>{{ form.username }}</td> 
</tr> 
<tr> 
    <td>{{ form.password.label_tag }}</td> 
    <td>{{ form.password }}</td> 
</tr> 
</table> 

<input type="submit" value="login" /> 
<input type="hidden" name="next" value="{{ next }}" /> 
</form> 

Ce que je suppose que je ne comprends pas pourquoi je peut mettre tout ce que je veux dans les champs utilisateur/passe, et je ne reçois jamais une erreur pour combo utilisateur/passe invalide. Je peux mettre des utilisateurs inexistants, corriger les utilisateurs avec les bons mots de passe, ce que je veux essentiellement, et ça m'envoie à tout ce qui est dans la variable 'suivant'. Cela m'amène à croire que cela ne fait rien du tout. J'ai vérifié ce que j'envoie via les variables de demande après la connexion, et je montre toujours en tant qu'Unité anonyme, même si je me suis "connecté avec succès". Suis-je en train de négliger quelque chose de manifestement évident ici? On dirait que j'ai lu cette page sur l'authentification 6 ou 7 fois maintenant.

En outre, si je me connecte en tant qu'utilisateur avec "Statut du personnel", je montre comme authentifié sans aucun problème. Si l'utilisateur n'a pas ce statut, cela ne fonctionne pas.

+0

Êtes-vous en train de surcharger les paramètres.AUTHENTICATION_BACKENDS par hasard? –

+0

Non, et ne prévoit pas. – f4nt

Répondre

0

je crois que je le fixe:

droit:

url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'quiz/quiz_login.html'}) 

Mauvais:

url(r'^login$', 'django.contrib.auth.views.login', {'template_name': 'quiz/quiz_login.html'}) 

Meh.

Questions connexes