일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- grafana dashboard
- python popen
- c3 step graph
- centos pyhon 설치
- 백준
- c3 초
- gcc regex
- regex_search
- 1697
- c++ 정규식
- gcc 업데이트
- c3 second
- python subprocess
- InfluxDB
- semanage
- subporcess path
- telegraf
- python os
- CentOS7
- 정규식 컴파일
- 정규식 문자열 출력
- linux시간으로 변경
- selinux port 등록
- snmp test
- c3 축 가리기
- snmp
- influxdb 설치
- g++ 업데이트
- 정규식 활용
- c3 축 없애기
- Today
- Total
리셋 되지 말자
[express] session store 본문
세션 저장소
세션 데이터의 저장소를 세션 저장소라고 한다. 이를 변경하는 방법을 알아본다.
(expressjs.com/en/resources/middleware/session.html)사이트 아래쪽에
Compatible Session Stores라는 항목을 확인할 수 있다.
이중에서 간편하게 사용이가능한 session-file-store을 사용해본다.(www.npmjs.com/package/session-file-store)
session file store
npm install -s session-file-store
설치를 한다.
var express = require('express')
var parseurl = require('parseurl')
var session = require('express-session');
var FileStore = require('session-file-store')(session);
var app = express()
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
store:new FileStore()
}));
모듈을 선언하고, app.use(session)에 store라는 옵션을 추가한다. new FileStore()에서 동작방식을 다르게 하기위해서는 Options 값들을 () 안에 추가하면 된다.
그리고나서 실행을 하면,
express-session.j를 실행한 디렉토리에 sessions라는 새로운 디렉토리가 생성된다. 그리고 localhost:3000으로 접속을 한다.
접속을 하면 위와같이 파일이 생성된다.
{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},
"num":2,"__lastAccess":1601201374149}
새로고침을 하면, 파일 내용중 "num"의 값이 1씩 증가하는 것을 확인할 수 있다.
사용자가 session id를 가지고 있는 상태에서 서버로 접속을 하면, request Header의 쿠키값으로 서버쪽으로 session id를 전달한다.
그렇게되면 session 미들웨어가 session id를 가지고 session store에서 아이디값에 대응되는 파일을 읽어서 request객체의 session이라는 객체를 추가한다. 이때 num의 값이 저장되어 있으므로 num의 값이 1씩 증가하는 코드를 확인할 수 있게 된다. sid값의 일부가 파일 이름과 일치하는 것을 확인할 수 있다.
'NodeJS > 생활코딩' 카테고리의 다른 글
[express] session 추가사항 (0) | 2020.09.28 |
---|---|
[express] session & auth 인증 구현 (0) | 2020.09.27 |
[express] session 객체 (0) | 2020.09.27 |
[express] session 옵션 (0) | 2020.09.27 |
[express] session (0) | 2020.09.27 |