Heim > Artikel > Backend-Entwicklung > So richten Sie eine Sitzung in Golang ein
GoLang ist eine sehr beliebte Programmiersprache, da sie eine schnelle, effiziente und sichere Möglichkeit zur Entwicklung von Webanwendungen bietet. In diesem Artikel stellen wir vor, wie Sie eine Sitzung mit GoLang einrichten.
Was ist Sitzung?
Session ist ein Mechanismus zum Verwalten von Benutzerinformationen in Webanwendungen. Wenn sich ein Benutzer bei einer Webanwendung anmeldet, erstellt der Server eine Sitzung und dann wird die Sitzungs-ID über Cookies als Antwortheader an den Browser gesendet. Wenn der Benutzer das nächste Mal eine Anfrage in dieser Webanwendung sendet, baut er über die in den Cookies gespeicherte Sitzungs-ID eine Sitzung mit dem Server auf. Die Sitzung bleibt aktiv, bis sich der Benutzer abmeldet oder die Sitzung abläuft.
In GoLang werden viele Bibliotheken zur Verwaltung von Sitzungen bereitgestellt, z. B. Gorilla/Sitzungen, Cookie-Sitzungen usw. In diesem Artikel wird die Bibliothek gorilla/sessions verwendet, um zu demonstrieren, wie eine Sitzung eingerichtet wird.
Sitzung einrichten
Bevor Sie mit der Einrichtung der Sitzung beginnen, müssen Sie die Gorilla/Sessions-Bibliothek herunterladen und installieren. Sie können den folgenden Befehl ausführen, um die Bibliothek herunterzuladen:
go get github.com/gorilla/sessions
Der Vorgang zum Einrichten einer Sitzung in GoLang ist grob in die folgenden drei Schritte unterteilt:
Hier ist ein einfacher Beispielcode:
package main import ( "github.com/gorilla/sessions" "net/http" ) var store = sessions.NewCookieStore([]byte("secret")) func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(":8000", nil) } func indexHandler(w http.ResponseWriter, r *http.Request) { session, err := store.Get(r, "sessionid") if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } if session.IsNew { session.Values["username"] = "johndoe" session.Values["logged_in"] = true err = session.Save(r, w) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } } w.Write([]byte("Hello " + session.Values["username"].(string))) }
Im obigen Code erstellen wir zunächst ein neues CookieStore-Objekt mit der Funktion NewCookieStore() und legen ein Schlüsselbyte-Slice zum Verschlüsseln des Cookies fest. Anschließend definieren wir eine indexHandler-Funktion, mit der wir die Sitzungsinstanz basierend auf dem Cookie in der Anfrage abrufen. Wenn die Sitzung nicht existiert, speichern wir zunächst die Werte von Benutzername und login_in in der Sitzung und speichern die Sitzung dann im Cookie. Wenn die Sitzung bereits existiert, erhalten wir den Wert des Benutzernamens aus der Sitzung und geben den Wert über die Antwort an den Benutzer zurück.
Okay, das ist ein sehr einfaches Beispiel für die Sitzungsverarbeitung. In tatsächlichen Anwendungen verfügen wir möglicherweise über eine komplexere Sitzungslogik und Interaktion mit der Datenbank, aber die grundlegenden Sitzungskonzepte sind dieselben.
Zusammenfassung
In diesem Artikel haben wir gelernt, wie man eine Sitzung in GoLang mithilfe der Gorilla/Sessions-Bibliothek einrichtet. Um die Sitzung zu verwenden, müssen wir eine Sitzungsinstanz initialisieren, die zu speichernden Informationen in der Sitzung speichern und die Sitzung dann in einem Cookie beibehalten.
Ich hoffe, dass dieser Artikel für Leser hilfreich ist, die Sitzungen in Golang lernen möchten.
Das obige ist der detaillierte Inhalt vonSo richten Sie eine Sitzung in Golang ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!