Session 9 : Session store - mysql
세션을 mysql에 저장하기 위해서는 express-mysql-session을 설치해야 한다.
npm install express-mysql-session –save
다음 예제는 app_session_login.js를 복사해서 쓴다.
app_session_login_mysql.js
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser');//POST 방식 전송을 위해서 필요함
var MySQLStore = require('express-mysql-session')(session);
var app = express();
app.use(bodyParser.urlencoded({extended: false}));//미들웨어 등록부분
//resave 세션아이디를 접속할때마다 발급하지 않는다
app.use(session({
secret: '12312dajfj23rj2po4$#%@#',
resave: false,
saveUninitialized: true,
store:new MySQLStore({
host: 'localhost',
port: 3307,
user: 'root',
password: 'qwer1234',
database: 'o2'
})
}));
app.get('/auth/logout', function(req, res){
delete req.session.displayName;//세션 삭제
req.session.save(function(){//데이터 저장이 끝났을때 호출됨 안전하게 redirect하기 위함
res.redirect('/welcome');
});
});
원래 mysql 테이블
실행 후 sessions 테이블이 추가됨
sessions 테이블 모양
그 다음 웹사이트 접속을 한다.
다시 들어가보면 이러한 세션 값이 추가된다.
그리고 logout 버튼을 누르면 displayName 값이 사라지는 것을 볼 수 있다.
출처 : https://opentutorials.org/course/2136
'프로그래밍 > Node.js' 카테고리의 다른 글
Node.js 생활코딩 정리 – Password Key Stretching 기법(PBKDF2 도입) (0) | 2016.12.04 |
---|---|
Node.js 생활코딩 정리 – Password 암호화 방법 (0) | 2016.12.04 |
Node.js 생활코딩 정리 – 인증 기능 추가하기 (0) | 2016.12.03 |
Node.js 생활코딩 정리 – 다중 사용자 시스템 만들기 (0) | 2016.12.03 |
Node.js 생활코딩 정리 – 세션(session)을 파일에 저장하기 (0) | 2016.12.03 |
Node.js 생활코딩 정리 – 세션으로 로그인 애플리케이션 만들기 (0) | 2016.12.01 |
Node.js 생활코딩 정리 – Cookie 암호화 (0) | 2016.12.01 |
Node.js 생활코딩 정리 – Cookie를 이용한 장바구니 만들기 (0) | 2016.11.28 |