● 도입 (1). 사용자가 마이페이지 등으로 접속을 요청할 때 Session ID가 진짜로 있는지 cookie를 검사 (2). 1번의 검사를 통해 접속 허가 유무를 판단하는 기능을 알아보자 - 현재 아래 단계까지 진행됐다. 개발1. 로그인 페이지 제작 & 라우팅 개발2. 로그인 요청시 ID&PW 검증 미들웨어 실행 개발3. ID&PW 검증 세부 코드 작성 개발4. 사용자가 입력한 ID&PW를 DB 데이터와 비교 개발5. 일치하면 Session ID를 만들어 cookie로 보내기 ● mypage.ejs(마이페이지) 만들기 & 라우팅 - 로그인한 유저만 접속할 수 있는 마이페이지를 만들어보자 - 우선 views 폴더 밑에 mypage.ejs 파일을 하나 만들자 cf) 다른 ejs 파일에 있던 HTML 내용을..
- 이전 글에서 ID와 PW를 검사할 준비를 끝냈다. - 이번 글에서는 사용자가 입력한 ID와 PW를 DB에 저장된 데이터와 비교한 후 Session을 만들어보자 - 참고로 이전 글에서 개발한 단계는 아래와 같다. 개발1. 로그인 페이지 제작 & 라우팅 개발2. 로그인 요청시 ID&PW 검증 미들웨어 실행 개발3. ID&PW 검증 세부 코드 작성 ● 사용자가 입력한 ID와 PW를 DB에 저장된 데이터와 비교 - 사용자가 던진 ID&PW가 DB에 저장된 데이터와 일치하는지 비교한 후 맞으면 Session을 하나 만들어주자 - 먼저 ID&PW가 DB 데이터와 일치하는지 비교하는 방법부터 알아보자 (server.js) passport.use(new LocalStrategy({ usernameField: 'id..
● 개발 방향 1. 사용자가 로그인을 하면 해당 사용자가 입력한 ID와 PW가 DB에 있는 ID, PW와 일치하는지 검사 2. 일치하면 session을 하나 생성해주고 로그인 성공 페이지로 이동 3. 일치하지 않으면 실패 페이지로 이동 ● 라이브러리 설치 1. 아래 명령어를 터미널에 입력해 로그인 & session 생성을 도와줄 라이브러리 설치 npm install passport passport-local express-session --> 띄어쓰기로 동시에 3개 라이브러리 설치 : passport, passport-local, express-session --> 로그인, 로그인 검증, 세션 생성을 도와주는 라이브러리들이다. cf) 실제 서비스를 한다면 express-session 말고 MongoDB에..
● Session-based Authentication 1. Session-based Authentication - 사용자의 세션 정보를 저장해서 로그인 기능을 구현하는 방법 - Session 방식은 전통적이고 범용적으로 사용되는 인증방식이다. - 쉽게말하면 아래와 같은 방식이다. 1. 사용자가 로그인 했었다는 정보를 서버의 메모리에 기록(= session을 저장) 2. 사용자가 로그인이 필요한 페이지를 요청을 하면 ex) 마이페이지 3. session을 뒤져서 해당 사용자가 로그인했다는 정보가 나오면 통과 cf) session = 사용자가 언제 어디서 로그인 했는지 등의 정보를 담은 자료 ex) "garden 사용자가 19시에 로그인했다." → 이런 정보를 서버 메모리에 저장해둔다. - 조금 더 자세하..
● PUT 요청시 게시물 수정 코드 (views/edit.ejs) 오늘의 할일 날짜 Submit - edit.ejs의 태그를 위와 같이 수정했다. - action 속성을 위와 같이 지정하면 /edit 경로로 PUT 요청이 가능해진다. - server.js는 /edit 경로로 PUT 요청을 했을 때의 코드를 아래와 같이 작성하면 된다. cf) (method="POST") 속성 자체는 없어도 되지 않을까 해서 지운채로 update를 실행해봤는데 되지 않았다. 반드시 있어햐 하는 듯 (server.js --> app.put에 주목하자) app.put('/edit', function(req, res){ db.collection('post').updateOne( {_id : ??}, {$set : { title ..
● edit.ejs 페이지 만들기 - 수정 기능은 여러가지 방법으로 구현할 수 있는데 가장 쉬운 방법은 edit 페이지를 따로 만드는 것이다. - 다른 방법으로는 /write 경로의 페이지를 그대로 사용하되 전송시 POST 요청이 아니라 '수정(PUT)' 요청으로 바꾸는 방법도 있다. - 이번 글에서는 edit.ejs 페이지를 만들어 수정 기능을 만들어보고자 한다. (views/edit.ejs) - write.ejs 내용 전체를 동일하게 복붙했다. - 차이점은 아래와 같이 태그에 "value 속성을 넣어야한다는 것"이다. - value 속성을 넣으면 태그에 미리 채워진 값을 설정할 수 있다. --> "111111"이라는 값을 에 미리 채워준다. --> "111111"은 예시이고 에 각 게시물의 제목과 날..
- Total
- Today
- Yesterday
- node.js
- 자료구조
- SQL
- SpringBoot
- OS
- API
- 알고리즘
- 코테
- MySQL
- DART
- Java8
- git
- db
- Phaser3
- Spring Boot
- 프로그래머스
- Phaser
- MongoDB
- jpa
- 메모리
- java
- Advanced Stream
- 코딩테스트
- 빅데이터
- 프로세스
- spring
- 빅데이터 분석기사
- 운영체제
- nosql
- Stream
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |