Warum leitet Django den Benutzer zur Anmeldeseite um, wenn er versucht, auf Seiten zuzugreifen, die durch Berechtigungen geschützt sind? Wäre es nicht sinnvoller 403 zu erhöhen? Dann konnte ich eine sinnvolle Nachricht in 403.html anzeigen (mit benutzerdefinierter Middleware), um dem Benutzer zu sagen, dass er keine Berechtigung zum Ausführen der Aktion hat. Ich wäre auch in der Lage, Links zu Ansichten zu identifizieren, die dem Benutzer gar nicht erst präsentiert werden sollten oder die versuchen, auf verbotene Ressourcen zuzugreifen.Django - Weiterleitung zur Anmeldeseite vs. 403
4
A
Antwort
2
Wenn Sie über die login_required
Dekorateur sprechen, gibt es keinen Grund, Sie haben, dass zu verwenden. Du könntest einen ähnlichen Dekorateur schreiben, der genau das tat, wonach du suchst (gib eine 403 Antwort zurück).
Leider ist die login_required
decorator code tatsächlich etwas komplex, so dass es nicht trivial wäre, nur für Ihre Bedürfnisse zu kopieren/ändern, da der Redirect-Teil tatsächlich innerhalb der user_passes_test
Funktion ist, die sie verwenden.
Verwandte Themen
- 1. AngularJS: Weiterleitung zur Anmeldeseite bei fehlgeschlagener Authentifizierung
- 2. MVC 5 Weiterleitung zur Anmeldeseite, die nicht mit OWIN funktioniert
- 3. Weiterleitung zur Anmeldeseite, wenn der Server 401 antwortet
- 4. Weiterleitung zur Anmeldeseite, wenn nicht in Rails autorisiert
- 5. Symfony Sicherheitsumleitung zur Anmeldeseite
- 6. Abmelden - Zurück zur Anmeldeseite
- 7. ruby rails - Weiterleitung zur ursprünglichen Anfrage url
- 8. Django: HTTPS für nur Anmeldeseite?
- 9. 403-Seite in Django
- 10. Django 403 verboten
- 11. PHP-Weiterleitung Post-Daten auf die Anmeldeseite nach der Registrierung
- 12. kaminari - Weiterleitung zur letzten Seite
- 13. Yii2 Weiterleitung zur vorherigen Seite
- 14. htaccess 301 Weiterleitung zur Indexseite
- 15. ASP.NET-Benutzer wird angemeldet, aber zur Anmeldeseite
- 16. Teilansicht zur Anmeldeseite umleiten, wenn Sitzung abläuft
- 17. Umleitung von der Anmeldeseite zur Startseite
- 18. ajax django 403 verboten Fehler
- 19. Wordpress! 403 Fehlermeldung und Weiterleitung an wp-Admin-Seite
- 20. Weiterleitung zur letzten Seite funktioniert nicht auf Python Social Auth
- 21. Keine Umleitung zur Anmeldeseite nach Zugriff auf eine NeededLogin Aktion
- 22. Warum ASP.NET-Identität 401 zurückgibt statt zur Anmeldeseite umleiten?
- 23. HTTP-Weiterleitung: 301 (permanent) vs. 302 (temporär)
- 24. JBoss Login und Weiterleitung zur korrekten URL
- 25. Override Django allauth Anmeldung "nächste" Weiterleitung URL
- 26. Django view Verkettung/Weiterleitung von bewährten Methoden
- 27. Django - Login und Weiterleitung an Benutzer Profilseite
- 28. Cross Domain Ajax OPTIONEN Fehler 403 (Django)
- 29. 403 Verbotener Fehler im django Webserver
- 30. Django process_view Middleware resultierend in 403 verboten
Es geht mehr um permission_required decorator. Ich könnte Custom Decorator schreiben, stimme ich zu. Aber meine Frage ist, sollte dies nicht standard Django Verarbeitung sein? Ich habe keinen Zugang, ich bin eingeloggt - sende 403 und der Entwickler muss 403.html definieren. – Tomas
In diesem Fall, überprüfen Sie [Ticket 5515] (http://code.djangoproject.com/ticket/5515) oder [diese benutzerdefinierte Middleware] (http://chronosbox.org/blog/manipulando-erros-http-403 -permissao-negada-no-django? lang = en) –
Danke. Ich entschied mich für eine benutzerdefinierte Middleware. Ich dachte nur, dass es nett wäre, wenn Django 403 ohne benutzerdefinierte Middleware unterstützt. – Tomas