Middleware in der Flasche
Ich habe gerade festgestellt mit Flasche und war zu versuchen, eine kleine Funktion in mein Projekt. Das Ziel ist, ein cookie zu setzen, nur wenn die Anforderung von einem authentifizierten Benutzer.
Fand ich zwei Möglichkeiten, dies zu tun.
Erste Methode
@app.before_request
def before_request():
# set cookie if user is logged in
Zweite Methode, durch die Implementierung von so etwas wie dieses
durch das hinzufügen von-a-simple-middleware-in-den-Kolben-Anwendung
Kann mir jemand erklären, was sind die wichtigsten Unterschiede zwischen den beiden Methoden, und Wann und wo, welche Methode verwendet werden soll.
Auch, ich bin derzeit mit "Kolben-login", um die Nachverfolgung der Benutzer eingeloggt ist.
Wenn ich die erste Methode verwenden, kann ich leicht prüfen, ob jemand angemeldet ist, die durch den Import der current_user
from flask.ext.login import current_user
aber wenn ich versuche, das gleiche zu tun, während mit Hilfe der zweiten Methode, der current_user ist immer "Keine" als Anwendungs-Kontext ist falsch.
So, ich wollte wissen, ob ich entschloss mich mit der zweiten Implementierung, wie kann ich überprüfen, ob der Benutzer angemeldet ist oder nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe noch nie verwendet die zweite Methode, die Sie erwähnt haben. Ich bin mir sicher, dass es mit ihm getan werden kann, aber es ist sehr selten. Ich würde vorschlagen, um mehr gemeinsame Merkmale der Flasche. Aus Gründen der maintainer des Codes 🙂
Also die erste Methode, die Sie erwähnt haben, ist in Ordnung.
Oder verwenden Sie Dekorateure für mehr granulare Zugangs-Beschränkungen. Beachten Sie, dass das setzen von cookies in der Flasche kann muss erledigt werden, wenn tatsächliche response-Objekt. Das bedeutet, dass Sie verwenden sollten, Latente Wunsch Rückrufe für das setzen von cookies in der dekorierten Funktion.