티스토리 뷰
반응형
session을 저장할 수 있는 장소는 DB cookies, webStorage, file 등 다양한 방법이 있지만 그 중에서 DB에 저장하는 방법이다.
session 저장용으로 redis 같은 별도의 DB를 사용해도 되지만 mySQL의 sessions 테이블에 저장하는 방법이다.
먼저 필요한 모듈을 설치해준다.
npm install express-mysql-session --save
express 상단에 모듈을 선언해줘야합니다.
const session = require("express-session");
const MySQLStore = require("express-mysql-session")(session);
DB 연결정보가 담긴 config를 선언하고
const config = {
host: process.env.HOST,
port: process.env.PORT,
user: process.env.USER,
password: process.env.PASSWORD,
database: process.env.DATABASE,
connectionLimit: process.env.CONNETCIONLIMIT,
};
/*session 설정 부분*/
app.use(
session({
secret: process.env.SESSION_KEY, // 세션을 발급할 때 사용되는 키입니다.
resave: false,
saveUninitialized: false,
store: new MySQLStore(config),
})
);
session옵션중 store에 적은 경로가 이제 session 저장 위치가 됩니다. (다른DB or 파일로 저장할 경우 이 부분 수정)
//로그인 로직 통과시 session에 저장하고싶은 값들 저장 가능
req.session.저장하고싶은변수 = 저장하고싶은값;
req.session.save(function () {
res.send(true);
});
구현한 로그인 로직 통과시 req.session.save(function(){}); 작성시 store에 임의의 session 값 생성됨
req.session.변수 = 값 을 사용하면 json 형식으로 값이 저장되어 다양하게 활용 가능합니다.
mySQL로 넘어가서 sessions 테이블을 조회하면 아래와 같은 결과가 생성됩니다.
select * from sessions
반응형
'Server' 카테고리의 다른 글
[node.js] base 64 이미지 decode 및 저장 방법 (0) | 2022.05.04 |
---|---|
[Express] http로 접속시 https로 redirect (0) | 2022.05.03 |
[Express] bcrypt 을 사용한 비대칭 암호화, password 비대칭 암호화 (0) | 2021.11.12 |
[Express] schedule , 특정 시간 마다 이벤트 처리 (0) | 2021.11.12 |
[Express] request is not defined 해결법 (0) | 2021.09.13 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- react #img 전송
- PoolCluster : Error: connect ECONNREFUSED 127.0.0.1:3306)
- 이미지 전송 # 이미지 업로드 #이미지 여러장 #이미지 여러장 업로드 #react 이미지 업로드 #react 이미지 여러장 업로드
- Pytorch #Yolov5 #Segementation
- supported: linux/amd64
- mysql date between # mysql date between 대소 비교 연산자
- node.js 파일 저장
- node.js #node.js pdf만들기 #node.js pdfkit
- mysql date
- React filter #js Includes #React Filter includes
- FormData #FormData 파일전송 #FormData append json # React FormData File #React FormData append Json
- reack-cookies #아이디 저장하기 #react 아이디 저장 #react cookie #리엑트 아이디 저장하기
- PDF #pdfkit
- Procedure #mysql #mysql Procedure #mysql 반복문 #Procedure 반복문 #mysql insert 반복문
- see ec2 instance connect prerequisites at https://docs.aws.amazon.com/awsec2/latest/userguide #인스턴스 연결 안됨
- react #react-spinners #modal loading #overlay #로딩창 #react 로딩창 만들기
- docker mysql
- linux/amd64/v2
- mysql date type
- excel 파일 만들기 #node.js #express excel 파일 만들기 #데이터 입력해서 excel 파일 만들기
- ec2 instance connect is unable to connect to your instance. ensure your instance network settings are configured correctly for ec2 instance connect. for more information
- BOJ #JS
- Swal #sweetalert2 #alert #알림창 띄우기 #react swal
- AWS #인바운드 #SSH #인스턴스 연결
- docker # docker build # m1 docker build
- mysql date between performance
- Mac docker.for.mac.host.internal
- Express multer #Express File 저장 #node.js
- JavaScript #Programmers #lvl2 #프로그래머스 오픈채팅방 # 오픈채팅방 문제
- ERROR: failed to solve: no support for running processes with linux/amd64/v3 platform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함