2012-12-22 3 views
2

현재 웹 응용 프로그램에서이 웹 응용 프로그램을 작업하고 있습니다.이 웹 응용 프로그램은 모두 fs.mkdir이 호출 될 때마다 현재 급행 세션을 모두 삭제하므로 모든 세션을 유지할 방법이 필요합니다. 나는이 모든 세션을 connect-mongodb와 connect-redis로 유지하려했으나 둘 다 작동하지 않는다. nodemon은 항상 req.session이 정의되지 않았다고 말한다. 나는 모든 세션을 지키기 위해 내가해야 할 일을 모른다.거래하고 node.js/express 세션을 유지하십시오.

fs.mkdir이 실행될 때 모든 세션을 유지할 수있는 방법이 필요하고 이에 대한 자습서가 필요합니다. 아직까지는이 튜토리얼을 찾을 수 없기 때문에 누구나 사용할 수 있습니다! 나는 Stackoverflow에서 이것과 관련하여 모든 것을 읽었지만 아무것도 작동한다! 도와주세요!

답변

1

매우 이국적으로 들리는데, 그 후 세션이 지워졌습니다. (나는 당신의 다른 질문을 찾았습니다.)

질문으로 돌아가서, 세션 (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의 문서를 읽고, 이제 명시

+0

examples을 검색해야 fs.mkdir'가 app.post에 호출 될 때 ', 나는 새로운 req.session을 할당 할 수 없습니다 .user 예를 들어,하지만 세션의 나머지 부분을 잃지 않습니다. 나는 당신의 코드를 시도 할 것이다, 고마워! : D – MrMangado

+0

방금 ​​시도해 본 결과 nodemon은 req.session이 정의되지 않았 음을 알립니다. – MrMangado

관련 문제