簡體   English   中英

處理並保留node.js / express會話

[英]Deal and keep node.js/express sessions

我當前正在使用一個Web應用程序,每次調用fs.mkdirfs.mkdir此Web應用程序,刪除所有當前的Express會話,因此我需要一種保留所有這些會話的方法。 我試圖用connect-mongodb和connect-redis保留所有這些會話,但是都無效,nodemon總是說req.session是未定義的。 我不知道要保留所有會話該做什么。

我需要一種方法來保留所有會話,不要在執行fs.mkdir時丟失它們,並需要一個教程,因為我還沒有找到任何好的完整教程,任何人都可以工作! 在Stackoverflow中,我正在閱讀所有與此相關的內容,但是任何方法都可以! 請幫忙!

聽起來很fs.mkdir ,在fs.mkdir之后,您的會話已刪除。 (我發現了您的其他問題)

但是回到問題,這里有一些代碼片段,您可以使用會話(redis)。

var express = require('express')
  , fs = require('fs')
  , http = require('http')
  , RedisStore = require('connect-redis')(express)
  , sessionStore = new RedisStore()
  , app = express()
  ;

app.configure(function(){
  app.set('port', 3000);
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('secret'));
  app.use(express.session({
    store: sessionStore
  }));
  app.use(express.static(__dirname + '/public'));
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.get( '/', function(req, res){
  res.setHeader("Content-Type", "text/html");
  console.log( req.session );
  console.log( '------------------------' );
  res.end( 'root' );
});

app.get( '/dir/:id', function(req, res){
  console.log( req.session );
  console.log( '------------------------' );

  fs.mkdir( req.params.id );
  if ( req.session.dirs === undefined )
    req.session.dirs = [];
  req.session.dirs.push( req.params.id );

  console.log( req.session );
  console.log( '------------------------' );

  res.setHeader("Content-Type", "text/html");
  res.end( 'dir' );
});


server = http.createServer(app).listen(3000);

您應該閱讀express的文檔,並瀏覽express的示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM