웹개발 6

[Spring Boot] 카카오, 네이버, 구글 SNS 로그인

요즘 대부분의 웹 서비스는 별도의 회원가입 없이 카카오, 네이버, 구글 같은 SNS 계정으로 로그인할 수 있게 되어 있죠.사용자 입장에서는 편리하고, 서비스 입장에서도 이탈률을 줄일 수 있는 중요한 기능입니다.저는 지금까지 여러 프로젝트에 참여했지만, 로그인 기능을 직접 구현해 본 경험은 없었습니다. 그래서 언젠가는 꼭 한 번 제대로 구현해 봐야겠다는 생각을 갖고 있었고, 이번 개인 프로젝트를 계기로 SNS 로그인 기능을 직접 구현해보게 되었습니다. 이 글에서는 Spring Boot를 기반으로카카오, 네이버, 구글의 로그인 기능을 각각 연동하고,로그인한 사용자의 정보를 세션에 저장,회원 여부에 따라 자동 로그인 처리 또는 약관 페이지로 이동 및 회원가입 까지 처리하는 기능을 구현하는 과정을 담았습니다.1..

개인 공부 2025.05.17

[Spring Boot] JPA로 REST API 개발하기 (2)

이번 글에서는 JPA를 활용해서 포스트 관리 REST API 개발 과정입니다.게시글 작성(Create), 게시글 조회(Read), 게시글 수정(Update), 게시글 삭제(Delete) 엔티티 클래스 작성package com.demo.domain;import java.util.Date;import org.hibernate.annotations.DynamicInsert;import org.hibernate.annotations.DynamicUpdate;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence..

Spring Security를 활용한 사용자 권한 기반 접근 제어

저번 글의 Spring Security를 활용한 로그인 이후로 이번에는 관리자 페이지를 구현하면서 Role에 따라 접근 가능한 페이지/기능을 제어하는 방법을 공부하고 기록해 보려고 합니다.. 오류만 안난다면.... 금방 끝나겠지!? +++ 이전 게시글에서 수정 +++MemberController에서 "/main" 매핑을 삭제, MainController 생성package com.demo.controller;import org.springframework.security.core.Authentication;import org.springframework.security.core.context.SecurityContextHolder;import org.springframework.stereotype.Cont..

개인 공부 2024.12.24

Spring Security를 활용한 로그인!?!?

예전에 한 회사에서 면접을 볼 때 "Spring Security 사용해 본 적이 있나요?" 라고 했을 때 없다고 했었는데 개인 공부를 하면서 웹 개발 중 제일 처음 배웠던 로그인 기능을 Spring Security에 대해서 공부도 할 겸 활용해 보겠습니다..(그 때, 사용한 적 없다고 했지만 어떤 기능인지 알고 잘 대답했더라면 합격 했을 수도 있었을 것 같네....) Spring Security???Spring 기반 애플리케이션에서 인증(Authentication)과 권한 부여(Authorization)를 처리하는 강력한 보안 프레임워크.ㅇㅐ플리케이션을 외부 공격으로부터 보호하고, 사용자의 접근 권한을 제어하는데 필요한 다양한 기능을 제공합니다. Spring Security의 주요 기능인증(Authent..

개인 공부 2024.12.21

Spring Boot - 리뷰 CRUD기능 구현하기 (3)

리뷰 상세보기 및 수정// 리뷰 상세 화면@GetMapping("/review_detail")public String reviewDetailView(HttpSession session, Model model, @RequestParam("review_seq") int review_seq) throws Exception { Member loginUser = (Member)session.getAttribute("loginUser"); Review review = reviewService.getReviewBySeq(review_seq); if(loginUser != null) { model.addAttribute("loginUser", loginUser); } // 어보드한 이미지 파일 URL 리..

Spring Boot - 리뷰 CRUD기능 구현하기 (2)

Controller - 리뷰 메인화면 호출// 리뷰 메인 화면 @GetMapping("/review") public String reviewMain(Model model, HttpSession session) {     ListReview> reviews = reviewService.getAllReview();      model.addAttribute("reviews", reviews);      return "review/reviewMain"; } @GetMapping("/review") 메서드는 메인 페이지를 요청할 때 호출됩니다.리뷰 목록 조회: reviewService.getAllReview() 메서드를 통해 전체 리뷰 목록을 가져오고, 이를 reviews라는 이름으로 모델에 추가하여 템플릿에서..