본문 바로가기

basic/Node.js

[Node.js] Session

npm i express-session --s 설치 필요

 

var session = require('express-session'); 

 

app.use(session({

secret: 'SECRETKEY1js24akl289djf90kl',

resave: false, //세션 아이디를 접속할 때 마다 새롭게 발급하지 않는 것

saveUninitialized: true //세션아이디를 세션을 실제로 사용하기 전까지 발급X

}))

 

req.session.id = 'abc'; 로 저장하고

req.session.destroy(); 로 세션 모두 제거할 수 있다.

 

//세션을 파일로 저장하고 싶다면

//npm i session-file-store --s 모듈설치하고

var FileStore = require('session-file-store')(session); 

session의 옵션에

store: new FileStore()을 추가해준다.

 

//세션을 mysql DB에 저장하고 싶다면

npm i express-mysql-session --s 모듈 설치하고

var MySQLStore = require('express-mysql-session')(session);

session의 옵션에

sotre: new MySQLStore({

host:'localhost',

port: 3306,

user: 'scott',

password: '??????',

database:'db'

})

 

//외부 저장소인 db에 저장했을 때 db에 변경되기 전에 리다이렉션이 일어나면 변경사항이 저장되지 않으므로 save함수를 사용하여 새로고침시 redirect하면서 로그인이 안되는 등의 오류를 잡아줄 수 있다.

ex)

req.session.save(function(){ 

res.redirect('/Login');

})

'basic > Node.js' 카테고리의 다른 글

[Node.js] Ajax  (0) 2020.10.30
[Node.js] 나만의 Module만들기  (0) 2020.10.29
[Node.js] Cookie 암호화  (0) 2020.10.28
[Node.js] MySql CRUD  (0) 2020.10.27
[Node.js] MySql 모듈이용해서 연결하기  (0) 2020.10.27