프로젝트/뉴스피드 14

[회고][프로젝트 2~4일차] 회원가입, 로그인 기능 구현

✅ 로그인 시 JWT 토큰 발급 JWT 생성 시 쿠키 생성하여 Client의 Header에 추가 ✅ Security Role(ADMIN / USER) 나누기 페이지별 권한 처리 [앞으로 보충해야 할 일] 👉 회원가입 시 ADMIN 권한 부여 하는 방법 👉 thymeleaf-springsecurity 이용해서 권한에 따른 버튼 활성화/비활성화 처리 ✅ 간단하게 화면단 만들어서 연결 메인페이지, 회원가입, 로그인 페이지 구현(thymeleaf 이용) 저번 프로젝트때는 화면단을 React로 하면서 페이지 이동을 화면단에서 다 하다보니 화면단 만들고 ajax 쓰는데 좀 헤맸음 thymeleaf는 처음 이용해보는데 조금만 문법 잘못 쓰면 바로 에러 나서 당황했다. 근데 security랑 같이 쓰기 좋다하고, 나름..

[spring security] 로그아웃 기능 구현

로그인은 JWT 생성한 서버에서 쿠키를 직접 생성해 Client의 Header로 전달하는 방식으로 구현했다. 로그아웃은 어떻게 할 것인가? 한번 발급된 토큰은 만료될때까지 삭제가 되지 않기 때문에 쿠키에서 지워주는 방식으로 구현할 것이다. Handling Logouts :: Spring Security If you are using Java configuration, you can add clean up actions of your own by calling the addLogoutHandler method in the logout DSL, like so: Custom Logout Handler CookieClearingLogoutHandler cookies = new CookieClearingLogou..

[회고][프로젝트 1일차] 환경 세팅, API 명세서 작성, ERD 설계, 테이블 생성

오늘의 한 일 ✅ 환경 세팅 - 프로그래밍 언어: Java 17 - 빌드 툴: Gradle - 프레임워크: Spring boot 3.2.2 - 데이터베이스: MySQL 8.0.36 - ORM: JDBC - JPA ✅ API 명세서 작성 노션에 작성해둠, 계속해서 수정할 예정 - 회원가입, 로그인 - 마이페이지 - 게시물 - 댓글 - 게시물 좋아요 - 댓글 좋아요 - 팔로우 ✅ ERD 설계 ✅ DB 작업 - 테이블 및 컬럼 생성(시퀀스, PK, UNIQUE ) - FK 지정(CASCADE) 설정 👉 테이블 DROP할 때 FK 고려해서 순서 중요함! 회고 1. 개인 프로젝트는 처음이라 환경 세팅부터 결정할 것이 너무 많다. 모든 결정에는 이유가 있어야 한다. 2. 오늘 진짜 세팅 끝! 개발 하다보면 중간에 ..

Intellij - MySQL 연결 오류 (com.mysql.cj.jdbc.Driver)

✔️ 나의 개발 환경 - Java 17 - Spring boot 3.2.2 - MySQL 8.0.36 지난번 프로젝트때는 Oracle을 사용해서 이번엔 MySQL을 써보고자 설치를 끝냈다. 스프링 부트 새 프로젝트 생성해서 dependencies 등등 세팅을 다 끝내고 db연결을 해보려니까 갑자기 바보가 된 기분이었다. JDBC란? Java Database Connectivity의 약자로 자바 기반 애플리케이션과 데이터베이스에 저장된 데이터를 연결해주는 API이다. 연결을 위해서는 Connector를 다운받아 설정해주면 된다. 👉 데이터베이스와 연결하기 위해서 해야할 일 1. JDBC 드라이버 MySQL Connector를 다운받는다. MySQL 공식문서를 타고 들어가면 Connector 파일이 있다. ..