Rumah >pembangunan bahagian belakang >Golang >Mengapa Pembolehubah Sesi Gorilla Tidak Dikekalkan Merentas Permintaan dalam Aplikasi Web Saya?
Semasa menggunakan kit web Sesi Gorilla, pembolehubah sesi tidak dikekalkan merentas permintaan. Apabila pelayan dilancarkan dan pengguna melawat localhost:8100/, mereka diarahkan ke login.html kerana nilai sesi tidak wujud. Selepas log masuk, pembolehubah sesi disimpan dan pengguna dialihkan ke home.html. Walau bagaimanapun, membuka tab baharu dan memasukkan localhost:8100/ mengarahkan pengguna untuk log masuk.html dan bukannya home.html seperti yang dijangkakan, walaupun terdapat pembolehubah sesi.
Beberapa isu timbul dalam kod yang disediakan:
Snippet Kod Berkaitan (selepas menangani isu):
<code class="go">// Set session options store.Options = &sessions.Options{ Domain: "localhost", Path: "/", MaxAge: 3600 * 8, // 8 hours HttpOnly: true, } // Session handling in `SessionHandler` func SessionHandler(res http.ResponseWriter, req *http.Request) { session, err := store.Get(req, "loginSession") if err != nil { // Handle the error } // Check for a valid session if session.Values["email"] == nil { http.Redirect(res, req, "html/login.html", http.StatusFound) } else { http.Redirect(res, req, "html/home.html", http.StatusFound) } }</code>
Atas ialah kandungan terperinci Mengapa Pembolehubah Sesi Gorilla Tidak Dikekalkan Merentas Permintaan dalam Aplikasi Web Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!