ゴリラ セッション Web ツールキットの使用中、セッション変数はリクエスト間で保持されません。サーバーが起動し、ユーザーが localhost:8100/ にアクセスすると、セッション値が存在しないため、login.html にリダイレクトされます。ログインすると、セッション変数が保存され、ユーザーは home.html にリダイレクトされます。ただし、新しいタブを開いて「localhost:8100/」と入力すると、セッション変数が存在するにもかかわらず、予想どおりにユーザーは home.html ではなく login.html に誘導されます。
いくつかの問題が発生します。提供されたコード:
関連するコード スニペット (問題に対処した後):
<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>
以上がWeb アプリケーションのリクエスト間でゴリラ セッション変数が維持されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。