-
[project] myBlog (with node.js)Project 2021. 4. 4. 23:25
뭘 더 수정할까..? (4/4)
- 글 수정버튼이 로그인한 유저에게만 보였으면 좋겠다.
- 현재는 게시글에 비밀번호를 주고, 수정하기 할 때 비밀번호를 체크하는데, 요즘 누가 게시글 비밀번호를 일일이 기억하겠어..
- 애초에 글쓴이만 삭제하고 수정할 수 있도록 하는것이 더 사용자 친화적인 면모인것..!!
- 글 쓴 시각을 예쁘게 바꿔보자
- 사용자인증 과정, 현재가 최선일까? 현재는 클라이언트쪽에 많은 의지를 하고있는데 이게 맞는지 모르겠다.
- 글쓰기 화면에서 댓글과 마찬가지로 글쓴이 = 로그인 한 유저가 되게끔 수정하자
- 애초에 꼭 글쓴이를 클라이언트에서 받아와야할까..?
- 또, 토큰 만료 시간을 지정하지않았다.
- 그리고 어째서인지 내 토큰은 브라우저를 꺼도 저장이되어있다. 솔직히 근데 이게 더 편하긴한데..
- 아마 로그인 유지하기 기능이 토큰 만료시점을 정하는 그런 기능이 아니었을까.
UPDATE ( 3/29 ~ 4/1 )
- 회원가입 / 로그인 기능 구현
- 회원가입 : DB에 유저 관련 정보를 create
- 개인적인 경험으로, 회원가입 후 바로 로그인시켜주는것이 좋기 떄문에, 회원가입 후 로그인으로 넘어가도록 했다.
- 로그인 : 클라이언트에서 입력받은 값이 DB값과 일치하는지 확인 후 JWT토큰 발급, 쿠키에 저장
- 사용자 인증 : 발급받은 토큰을 디코딩하여 userID를 저장한다.
- 댓글 작성하기 기능
- 로그인 한 유저만 댓글 작성하기
- 댓글 작성자 = 로그인한 유저 닉네임
- 이 부분은 거의 클라이언트쪽에서 처리했다.
- 사용자 인증 과정에서 토큰을 발급받은 사용자만 댓글 작성하기 버튼이 활성화 되고, 이외에는 Alert기능이 담긴 버튼이 보인다.
- 또한 로그인한 유저의 정보를 value값으로 미리 입력하고 readonly하여 작성자 = 로그인한 유저가 되게끔 했다.
- 댓글 수정하기 기능
- 내가 작성한 댓글만 수정하도록 하기
- 이 부분도 클라이언트쪽에서 처리를 했다.
- 로그인한 유저 === 글쓴이 일 경우 수정하기 form이 나타나도록했다.
- 해당 form에는 이전에 작성했던 텍스트가 value값으로 존재하고, 해당 텍스트를 수정 후 저장하기 버튼을 누르면 수정된다.
- 댓글 삭제하기 기능
- 로그인한 유저 === 글쓴이 일 경우 삭제하기 버튼이 나타나도록 했다.
- 댓글 조회하기 기능
- 로그인 하지 않은 사용자도 댓글 조회하기
- 처음에 작성했던 코드는, 사용자 인증 정보가 없을 경우 (토큰이 없을 경우), 에러처리를 했다.
- 그래서 사용자 인증을 미들웨어로 넣은 부분에 로그인 없이 접근할 수 없었다.
- 그래서 사용자 인증 정보가 없는 경우를 에러처리가 아닌 예외처리를 하여 해결했다.
- 만약 인증이 필요한 기능이라면, 미인증 사용자에게 보여주지않도록 처리를 했고 같은 페이지여도 다른 작동을 하게끔 작성했다.
- 예를들면, 댓글작성에 확인버튼을 눌렀을 때, 미인증 유저에게는 Alert가 뜨는 확인버튼이지만, 인증 사용자에게는 작성하기 기능을 하는 버튼이 되게끔.
- 서버쪽에서 처리하지않고 클라이언트쪽에서 이런식으로 처리하는게 맞는건가? 하는 의구심이 드는데 한번 알아보고 업데이트가 가능하면 업데이트 해봐야겠다.
CRUD기능이 있는 blog만들기
-MVC패턴을 적용하여 작성했습니다.
what i used
- Node.js
- pug
- mongoDB
what's in my blog
- 글목록 조회
- 최신글이 최상단에 위치
- 특정 글 제목 클릭하면 해당 글의 상세페이지로 이동
- 글 작성
- 글 수정
- 비밀번호 확인 후 동일한 비밀번호일 때 수정
- 수정하기 버튼을 눌렀을 때 작성했던 글 나오게하기
- 글 삭제
- 비밀번호 확인 후 동일한 비밀번호일 때 삭제
Git 주소
github.com/danaisboss/myBlog.git
'Project' 카테고리의 다른 글
작업일지 bcrypt를 이용한 로그인 구현 (0) 2021.04.19 작업일지 평문 저장되는 비밀번호를 해싱해서 저장하기 (0) 2021.04.19 작업일지3 (0) 2021.04.16 작업일지 1 (0) 2021.04.15 [항해99] 미니프로젝트 Dotrip (0) 2021.03.08 - 글 수정버튼이 로그인한 유저에게만 보였으면 좋겠다.