2009-03-08 6 views
1

Ein Quickie, und hoffentlich ein einfacher. Ich befolge die Dokumente unter , um nur eine einfache Benutzerauthentifizierung zu erhalten. Ich habe keine besonderen Anforderungen, ich muss nur wissen, ob ein Benutzer eingeloggt ist oder nicht, das war's. Ich benutze den login_required Decorator, und es funktioniert genau so, wie ich es erwartet habe. Ich verwende eigentlich die ‚django.contrib.auth.views.login‘ für die Anmeldungsansicht und die genaue Form, die sie in der Dokumentation zeigen:django Login Middleware funktioniert nicht wie erwartet

{% 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> 

Was ich denke, ich verstehe nicht, warum ich kann setzen, was ich will in den Benutzer/Pass Felder, und ich bekomme nie einen Fehler für ungültige Benutzer/Pass-Combo. Ich kann nicht existierende Benutzer hinzufügen, Benutzer mit richtigen Passwörtern korrigieren, was immer ich will, und es schickt mich zu dem, was in der 'nächsten' Variable ist. Das lässt mich glauben, dass es überhaupt nichts tut. Ich habe überprüft, was ich nach der Anmeldung über die Anfragevariablen sende, und ich werde immer als AnonymousUser angezeigt, obwohl ich mich "erfolgreich angemeldet" habe. Betrachte ich hier etwas offensichtlich Offensichtliches? Scheint so, als hätte ich diese Seite 6 oder 7 Mal zur Authentifizierung gelesen.

Auch wenn ich mich als Benutzer mit "Staff Status" anmelden, zeige ich als authentifiziert ohne irgendwelche Probleme. Wenn der Benutzer diesen Status nicht hat, funktioniert es nicht.

+0

Übersteuern Sie Einstellungen.AUTHENTICATION_BACKENDS durch Zufall? –

+0

Nein, und keine Pläne dazu. – f4nt

Antwort

0

Ich glaube, ich es fest:

Rechts:

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

Falsch:

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

Meh.

Verwandte Themen