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 |