2016-12-04 7 views
0

Express와 함께 Node.js의 "client-sessions"패키지를 사용하는 방법을 배우고 있습니다. 모든 것이 잘 작동하는 것 같습니다. 하지만 궁금한데, 거기에 세션이 만료되면 함수를 호출하는 방법이 무엇입니까?세션이 만료 된 시점을 어떻게 알 수 있습니까?

세션에 고유 ID 만 저장되도록 설정하고 있습니다. 그런 다음 세션의 외부에서 나는 필요한 모든 사용자 데이터와 다른 것을 저장합니다. 그렇게하면 쿠키와 세션 정보가 아주 작게 유지됩니다. 그러나 세션이 만료 된 후에도 유지할 필요가없는 정보를 지울 수 있도록 세션이 만료 된 시점을 알고 싶습니다.

그러나이 작업을 수행하는 방법에 대한 세부 정보를 찾을 수 없었습니다. 내가 잘못 생각한거야? 세션에 모든 것을 저장하면 쿠키에 저장하려고 시도 할 것입니다.

미리 감사드립니다. 당신이 문제를 해결 도움이 보인다 이후에만 브라우저 쿠키에 세션 ID를 저장하고 세션 객체를 유지 express-session 같은 세션 관리자를 사용하는 경우

+0

세션 개체 자체에 데이터를 저장하면 모든 것이 처리됩니다. 알맞은 세션 관리자를 사용하는 경우 쿠키는 세션 ID 만 전달하며 세션 개체 자체는 서버 쪽입니다. – jfriend00

+0

@ jfriend00 - 테스트 한 결과 세션에 정보가 저장되었으며 쿠키는 183B에서 10KB로 줄어 들었습니다. 세션의 모든 내용을 쿠키에 저장한다고 생각하고 있습니다. 지금 [client-sessions] (https://www.npmjs.com/package/client-sessions)를 사용하고 있습니다. 더 나은 세션 관리자를 찾도록 제안 하시겠습니까? –

+0

Express-session은 그렇게하지 않습니다. – jfriend00

답변

1

... 대답에 내 의견을 만들기 서버 측의 세션 저장소에 저장하면 세션 객체에 직접 데이터를 저장할 수 있으며 세션이 만료되면 세션 관리자는 자동으로 세션 (세션의 데이터 포함)을 정리합니다. 그러면 물건이 자동으로 관리되므로 만료 시점에 대해 걱정할 필요가 없습니다.

express-session

store가 사용중인 세션 저장소 개체입니다 세션 store.get(sessionID, callback) 주어진 세션을 조회 할 수있는 기능을 가지고있다. 이를 사용하려면 조회 할 사용자의 sessionID를 이전에 저장해야합니다.