생활코딩
Coding Everybody
Open
tutorials.org
코스 전체목록
도움말
로그인
로그인
닫기
아이디
비밀번호
로그인 유지
로그인
후원
코스 전체목록
닫기
WEB
WEB1 - HTML & Internet
프론트 엔드 단편수업
WEB2 - CSS
WEB2 - JavaScript
React
Next.js 13
Redux
Ajax
Facebook Login
Google Login
p5.js
WEB2 - Node.js
Node.js - MySQL
Node.js - Express
Node.js - 쿠키와 인증
세션과 인증
Passport.js
다중 사용자
Google Login
Facebook Login
WEB2 - Python
Django Web Framework
Flask Web Framework
WEB2 - PHP
WEB3 - PHP & MySQL
WEB2 - Home server
WEB2 - Domain Name System
WEB2 - HTTP
WEB2 - OAuth 2.0
웹 애플리케이션 만들기
DATABASE
DATABASE1
MySQL
Oracle
SQLite
lowdb
SQL Join
관계형 데이터 모델링
언어
Python 입문 수업
파이썬 제어문
JAVA 입문 수업
JAVA - 제어문
JAVA - method
JAVA 객체 지향 프로그래밍
Java 상속
Java
JavaScript 입문 수업
TypeScript
PHP
Python & Ruby
정규표현식
스크래치
클라이언트
겁나 빠른 웹 레시피
HTML
HTML 수업
HTML 사전
CSS
CSS 수업
CSS 사전
JavaScript
웹브라우저 자바스크립트
JavaScript 사전
jQuery
UI 라이브러리
Semantic UI
jQuery Mobile
Twitter Bootstrap
모바일
텍스트큐브 & 티스토리 스킨
서버
HTTP
JavaScript (nodejs) - 폐지예정
PHP
PHP 기본 수업
CodeIgniter
PHP 고급 수업
MySQL
인프라
리눅스
인터넷
아마존 웹서비스 (AWS)
아마존 웹서비스 (폐지예정)
데이터 과학
openai
머신러닝1
Orange3
Orange3 지도학습
Tensorflow (python)
Tensorflow (JavaScript)
TensorFlow.js Classification (분류 작업 시키기)
Tensorflow.js Classification
Teachable machine & WEB
개발도구
개발도구들
크롬 개발자도구
가상머신 (virtualbox)
프로젝트 관리
GITn
Visual Studio Code에서 git으로 협업하기
GIT1
Git CLI - 버전관리
GIT CLI - Branch & Conflict
GIT CLI - Backup
GIT CLI - 협업
GIT CLI - Cherry-pick & rebase
GIT - CLI - github.com Pull reqeust
Visual Studio Code 로 다루는 Git
버전관리 시스템
지옥에서 온 Git (새 수업으로 대체)
GIT-SourceTree (새수업으로 대체)
Subversion
프로젝트 관리도구
생활코딩 Docker 입구 수업
Gitlab
github
Redmine
기타
프로그래밍 오리엔테이션
보편적이지 않은 코딩
독서모임
CODE
Hello world
processing.js
mongodb
python
알고리즘
개발문서
생활코딩
>
WEB
>
WEB2 - Node.js
>
Node.js - Express
>
다중 사용자
공동공부
(
68
명)
로그인 구현
2018-08-13 11:07:33
수업소개
로그인 기능을 구현하는 방법에 대해서 알아봅니다.
강의
소스코드
변경사항
봤어요
(
51
명)
이전
다음
댓글
댓글 본문
댓글을 작성하려면 로그인하셔야 합니다.
김윤석
3년 전
21.04.29
답글
jeisyoon
3년 전
2021.03.28 로그인 구현 - OK
답글
김명일
3년 전
express-session의 session store를 lowdb-session-store모듈로 변경하니 로그인 하자마자 바로 뜨도록 됩니다.
https://www.npmjs.com......ore
main.js에 해당 부분을 추가하고
const LowdbStore = require("lowdb-session-store")(session);
app.use(session({
secret: '@23t45623!#513res',
resave: false,
saveUninitialized: false,
store: new LowdbStore(db.get('sessions'), {
ttl: 86400
})
}))
db.js에서
db.defaults({ users: [], sessions: [] }).write();
위와같이 sessions를 추가해주면 잘 되네요.
답글
생활둘기
3년 전
2021 2 17
답글
ldhan0715
4년 전
wwwe님 뭐하는 분이시죠? 모든 강의에 긴 양의 URL들을 적어놓고 이게 뭐하는 짓입니까? 게다가 URL은 모두 확인해보니 빠짐없이 피싱사이트고요. 당신같은 사람 때문에 인터넷이 더러워지는 겁니다.
대화보기
답글
쑤우
4년 전
수강완료. 감사합니다~
답글
착한얼굴에그러치모탄태도
4년 전
문제는
pm2 start main.js --watch --no-daemon --ignore-watch="sessions/* db.json" 으로 해결하면 됨
답글
착한얼굴에그러치모탄태도
4년 전
감사합니다
답글
굼벵이
5년 전
완료
답글
수정
삭제
넘좋다
5년 전
deserializeUser 미들웨어의 위치를 바꾸는건 어떨까요?
답글
수정
삭제
jo_onc
6년 전
저는 ignore 기능을 이용해도 문제가 해결되지 않아서 알려주신 방법을 적용해보니 아주 잘 작동하네요.
감사합니다!
대화보기
답글
수정
삭제
삼고잉
6년 전
잘 읽었습니다
답글
포로리야
6년 전
더 좋은 방법을 찾았네요
pm2 같은 프로세서 관리 프로그램 중에 파일이 수정되면 자동으로 restart하는 기능이 문제였습니다. (pm2는 --watch)
session.save의 매커니즘이 어떻게 되는지는 모르겠지만
미들웨어가 sessions 파일을 건드리면 pm2가 파일이 변경된것으로 인식해 재시작 되면서
session에 serialize가 안되는 문제가 생깁니다.
pm2 에 --watch를 넣지 않고 수동으로 재시작 해주던가
pm2 --watch --igonore-watch="sessions/* db.json"
이렇게 ignore 옵션을 넣어주면 해당 디렉토리의 모든 파일이나 지정된 파일이 수정되어도 무시합니다.
대화보기
답글
포로리야
6년 전
옵션을 객체로 간편하게 넘겨서 사용하는 passport.authenticate 메소드는 메모리에 있는 session 정보가 redirect 되기 전에 파일로 기록되지 않는 것 같습니다.
아마 비동기식으로 response의 redirect처리가 먼저되어 페이지가 로딩되고 그후에 session 정보가 파일로 저장 되는 것 같네요.
저는 passport.authenticate에 redirect 되기 전에 파일로 기록하는 custom callback을 만들어서 사용하였습니다.
router.post('/login_process', function (req, res, next) {
passport.authenticate('local', function (err, user, info) {
if (err) {
return next(err);
}
if (!user) {
req.flash('error', info.message);
return req.session.save(function (err) {
if (err) {
return next(err);
}
return res.redirect('/auth/login');
})
}
req.login(user, function (err) {
if (err) {
return next(err);
}
req.flash('success', info.message);
return req.session.save(function (err) {
if (err) {
return next(err);
}
return res.redirect('/');
});
});
})(req, res, next);
});
답글
더 보기
graphittie
자세히 보기
토픽
0
모듈
0
코스
0
봤어요
0
댓글
0
명예의 전당
0