Ich habe an mehreren Stellen gelesen, und es wird empfohlen, dass die Webserver Stateles mit Architektur teilen sein sollten. Dies hilft ihnen, besser zu skalieren.
Das bedeutet, dass jede Anfrage alle Informationen enthält, die zur Bearbeitung der Anfrage benötigt werden.
Dies wird schwierig, wenn Sie REST Endpunkte haben, die eine Authentifizierung erfordern.
Ich habe nach Wegen gesucht, die Flask-Erweiterungen machen und Flask Login Erweiterung ist definiert als
Flask-Login bietet Benutzer-Session-Management für Flask. Es handhabt das häufige Aufgaben des Anmeldens, Abmeldens und Erinnerns an Ihre Benutzer Sitzungen über längere Zeiträume.
P.S: Entschuldigung dafür, dass ich hier keine Programmierfrage gepostet habe, das ist ein Designproblem und ich weiß nicht, wie ich es lösen soll und SO scheint richtige Leute zu haben, um solche Fragen zu beantworten. Danke.
Flask-Login verwendet flashs eingebaute Sitzungsverwaltung , die standardmäßig sichere / signierte Cookies verwendet, und so ist das rein clientseitig.
Es kann serverseitige Sitzungen bei Bedarf unterstützen, aber hier ist ein Beispiel für einen erneut unterstützten Sitzungsspeicher.
Ich habe das gleiche Problem wie du gesagt hast. Während ich eine einfache Lösung dafür gebaut habe, aber nach einem besseren suche. Was ich gerade gemacht habe ist, den Anrufer zu fragen (Wer die HTTP-Anfrage sendet) stelle eine 'X-User-Info' im http-Header bereit, der Wert ist ein Token. Wenn ich die Anfrage erhalten habe, verwende ich dieses Token, um die Benutzeridentität zu erhalten (z. B. von redisis) und alle folgenden Autorisierungen & amp; Berechtigungskontrolle basiert auf dieser Identität. Die Authentifizierung erzeugt nur ein zufälliges Token, speichert es mit den Benutzerinformationen zum Redistieren und gibt das Token selbst an den Aufrufer zurück.
Tags und Links python django rest flask scalability