inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

express-session 미들웨어

session 질문입니다.

해결된 질문

160

­이준호

작성한 질문수 18

0

const express = require("express");
const path = require("path");
const morgan = require("morgan");
const cookieParser = require("cookie-parser");
const session = require("express-session");

const app = express();

app.set("port", process.env.PORT || 3000); // 전역 변수 느낌

app.use(morgan("dev"));
app.use(cookieParser("zerochopassword"));
app.use("/login", (req, res, next) => {
  console.log('로그인 완료 세션 지급!');
  session({
    resave: false,
    saveUninitialized: false,
    secret: "zerochopassword",
    cookie: {
      httpOnly: true,
    },
    name: "connect.sid",
  })(req, res, next);
});
app.use("/", (req, res, next) => {
  if (req.session) {
    express.static(path.join(__dirname, "public"))(req, res, next); // 미들웨어 확장법
  } else {
    next();
  }
});

제가 원했던건 /login url을 방문한 사용자만 session을 지급 받고 세션이 있어야 정적 리소스를 받아올 수 있게 해주고 싶었습니다.

/login url을 방문하면 cookie에 connect.sid가 저장되는 것을 보고 원하던 대로 작동할 줄 알았지만 이후 / url을 방문하니 req.session은 undefined 였습니다. 이유가 궁금합니다.

 

Sequelize mysql mongodb nodejs

답변 1

1

제로초(조현영)

9장 passport 학습 후에 하셔야 합니다. 저렇게는 불가능합니다.

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

931

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

387

1

리뉴얼 강의 및 공부 방법

0

590

1

jwt decode

0

1138

1

node.js 교과서 3판 질문드립니다

0

398

1

passport와 jwt

0

439

1

리뉴얼 강의

0

428

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

490

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

511

2

nunjucks res.render('error'); 작동을 안합니다.

0

520

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3545

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

245

1

multer 사용시 file 외 name값은 못받나용?

0

430

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

293

1

Strategy의 done에 대해 질문드립니다.

0

374

1

안녕하세요 fs 권한 관련 질문드립니다

0

456

1

시퀄라이즈 연결질문...

0

511

2

res.setHeader vs res.cookie

0

1799

3