오늘 한 일
- 오늘은 어제 공부했던 세션과 쿠키를 기반으로 웹 인증 프로그램을 만들었다.
- 데이터베이스는 이미 sequilze로 migration 되어있어 스키마를 작성하지 않아도 되었다.
- 어느 정도 구현된 프로그램 위에 인증하는 부분만 완성하면 되었다.
- 코드가 많은 부분으로 나누어져 있어 파악하는데 시간이 걸렸다.
- 사용자의 인증과 관련된 4가지 함수를 작성했다.
- 유저의 회원가입과 관련된 함수를 작성했다. ORM을 사용하여 기존에 가입된 여부를 확인하고, 데이터베이스에 사용자 정보를 추가할 수 있도록 만들어주었다.
- 유저가 로그인 했을 때 실행되는 함수를 만들어주었다. 기존에 있는 아이디인지, 그리고 입력된 아이디와 비밀번호가 데이터베이스에 저장된 바와 같은지를 먼저 확인해 주었다. 조건을 통과하여 권한이 있음을 확인한 경우 회원이 로그인했다는 정보를 기록한 token을 만들고, 사용자에게는 쿠키를, 서버에서는 session에 저장하는 과정을 만들어주었다. jwt를 사용하여 session에 대한 부분은 생략해주었다.
- 유저의 session을 이용하여 기존에 로그인되어있는지 확인하는 함수를 만들어주었다. 사용자로부터 쿠키를 받아 권한이 있는지 없는지 ORM을 통해 확인해주었다.
- 유저가 로그아웃할 경우 호출되는 함수를 만들어주었다. 로그아웃 시 session의 정보를 없애고, '/'로 redirect 할 수 있도록 구현해주었다. 하지만 로그아웃 시 '/'로 이동이 되지 않는다. 쿠키는 정상적으로 삭제되었다.
- 사용자가 사용하는 기능에 따라 url이 바뀌고, 그 url에 따라 폴더가 생성되어있었다.
- 코드가 정리되어있어 어떻게 구현되어있는지 쉽게 파악할 수 있었다.
- MVC 패턴의 중요성을 느꼈다.
- 나중에 프로젝트를 진행하면 이런식으로 코드를 정리해야 하는데, 잘할 수 있을지 걱정이 된다.
- 어디까지 파일을 나누어 만들어야 하는지 기준이 모호하다.
- 다른 사람의 코드(책)나 예시를 좀 더 확인해보고, 프로젝트를 진행하며 체득해야겠다.
'회고(TIL)' 카테고리의 다른 글
| Codestates 후기 (0) | 2020.09.04 |
|---|---|
| 2020.06.23 화요일 (0) | 2020.06.23 |
| 2020.06.17 수요일 (0) | 2020.06.17 |
| 2020.06.15 월요일 (0) | 2020.06.15 |
| 2020.06.12 금요일 (0) | 2020.06.12 |