1
app.post('/register', express.BodyParser(), function (req, res){

   var newu = new UserModel({});

   newu.user = req.body.nuser;
   newu.pass = req.body.npass;
   newu.mail = req.body.nmail;

   var pathu = __dirname + '/users/' + req.body.nuser;

   newu.save(function (err, newu){

       req.session.user = new.user;

       if(err) throw err;

       fs.mkdir(pathu, function (err){

           if (err) throw err;

        });    

   });

   res.redirect('/home);

});

fs.mkdir が実行されると常に、現在の Express のセッションがすべて失われます。fs.mkdir を実行して Express のすべてのセッションを維持する方法はありますか?

4

1 に答える 1

0

それがあなたの症状をどのように引き起こしているのかわかりませんが、この行:

req.session.user = new.user;

おそらく次のようになります。

req.session.user = newu.user;

アップデート

問題の根本は、ディレクトリを作成すると nodemon がトリガーされてアプリが再起動され、それが発生するとデフォルトのメモリ内セッション ストアがすべてのセッションを失うことです。修正は、 connect-redisを介してRedisのような永続的なセッション ストアを使用することです。

于 2012-12-21T21:48:06.220 に答える