2011-08-31 4 views
4

나는 내 데이터 저장소가 express.session과 connect-mongo를 사용하고 있습니다.Node.js에서 세션을 관리하는 방법

내 서버에서 20 가지 app.get() 호출이 있습니다. 모두가 세션을 확인해야하는 것은 아닙니다. 난 내 서버의 시작 부분에서이 작업을 수행하는 경우

그러나 :

express.createServer(express.session({ ... })); 

그런 다음 모든 단일 호출 따라서 express.session를 트리거 것, MongoDB를에 세션을 설정합니다.

express.session을 트리거 할 대상으로 만 제한하는 방법은 무엇입니까?

e.g. app.get('/getASession') will get a session 
app.get('/donotGetSession') will not even trigger express.session 

답변

1

나는 해결책을 찾는다. express.session 함수를 반환합니다. 그래서 나는이 작업을 수행 할 수 있습니다

global.mySession = express.session({ secret: session_secret, 
    store:new MongoStore({ 
     db: session_db_name, 
     host: session_db_ip, 
     port: session_db_port 
    }) 
}); 



app.get('/checkSession', mySession, function (req, res) { 
    res.send("<div>ok</div>"); 
}); 

을 그래서, 내가 soemthing 사용 세션을 원하지 않는 경우, 그럼 내가이 mySession을 넣지 마십시오. :) 간단합니다. 나는 노드를 좋아한다. : D

+0

정말 express.js 노드의 기능이지만 동의합니다. 난 둘 다 좋아한다. – respectTheCode

관련 문제