store as file
파일에 세션 데이터를 저장하는 방법
session은 메모리에 저장되고, 재접속 시에 데이터가 저장되지 않으므로 일반적으로 잘 쓰지 않는다고 한다. 보통 파일이나 DB에 저장한다.
파일에 세션 데이터를 저장하는 방법 express-session은 사용자의 세션 데이터를 store옵션이 가리키고 있는 파일에 저장한다.(FileStore()). store:new FileStore()는 자동으로 'session'이라는 디렉토리를 생성하고 여기에 세션데이터를 저장한다.
var FileStore = require('session-file-store')(session);
app.use(session({
//secret이란 사용자의 웹 브라우저에 sid(session id)를 심을 때 평문으로 심으면 위험하기 때문에
//resave-false : 서버에 접속할 때마다 새로운 sid를 발급받지 않겠다.
//세션을 실제로 사용하기 전까지는 발급하지 말아라.
secret: 'GOFORHLS!HLS!HLS!',
resave: false,
saveUninitialized: true,
store:new FileStore()//session 데이터를 저장할 'session'이라는 디렉토리를 생성한다!
}));
페이지에 접속하면 session 디렉토리가 생성되고, json파일이 생성되며 세션 데이터가 저장된다.
로그인하면 이 json 파일에 displayName이 추가된다.
접속하던 세션을 삭제하고 새로운 세션에서 로그인하면 새로운 세션에 대한 새로운 json 파일이 새로 생성된다.
Last updated
Was this helpful?