Express4アプリをセットアップしてセッションを行います。
// Sessions
app.use(cookieParser());
app.use(session({ secret: "some-secret" }));
// Signup
app.post("/signup", function (req, res) {
create_user(req.body.user, function (err, user_id) {
req.session.user_id = user_id;
res.redirect("/admin");
});
});
フォームを送信すると、user_idがreq.sessionに保存されます。ただし、サーバーを再起動すると、セッションが終了します。
なぜそれが持続しないのですか?いくつかの構成が欠落していますか?
エクスプレスセッションのデフォルトのセッションストアはMemoryStoreで、名前が示すように、セッションはメモリにのみ保存されます。永続性が必要な場合は、Expressで利用できる多くのセッションストアがあります。いくつかの例: