Spring 24

spring Security에 관한 총 정리

계속 security에 대해서 배웠지만내가 이해하기 힘든구조로 되어있어서구조를 일괄변경하고누구나 알기 쉬운구조로 변경하였다 일단 권한을 부여하는 방법에 대해 알아보자권한을 부여하려면 UserDetail를 구현하고있는 클래스에 다음과같이 getAuthorities()메서드를 구현해 collection객체에 userEntity의 권한을 뽑아 넣어줘야함(security의 권한명의 관례는 ROLE_xxx 이므로 userEntity에 role필드의 값을 넣어줄때 주의하자)public class CustomUserDetails implements UserDetails { //DB 사용자 정보 public UserEntity userEntity; public CustomUserDetails(Use..

Spring 2025.07.06

Spring Security (login)

1) 로그인 관련 Security 동작 login.html의 body부분만(username과 password를 폼으로 전송하는 방식) 먼저 cofig관련클래스인SecurityConfig의 filterChain메서드의 login부분만으로 설명//커스텀로그인 //loginPage("/login")로 인해 인증되지 않은 사용자가 보호된 URL에 접근하면 /login으로 리다이렉트됩니다. http.formLogin((a)->a.loginPage("/login") //로그인요청 .loginProcessingUrl("/loginProc") .defaultSuccessUrl("/my",true) //로그인성공 시 호출 ..

Spring 2025.07.02

RestFulApi 사용 연습

REST 개념HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD적용하는 것을 의미한다.즉, REST는 자원 기반의 구조 (ROA: Resource Oriented Architecture) 설계의 중심에 Resoure가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.웹의 모든 자원에 고유한 ID인 HTTP URI 를 부여한다. REST 설계원칙균일한 인터페이스동일한 리소스에 대한 모든 API 요청은 요청의 출처에 관계없이 동일하게 표시되어야 합니다. REST API는 사용자의 이름 또는 이메일 주소와 같은 동일한 데이터가 하나의 통합 리소스 식별자(URI)에만 속하도록 해야 ..

Spring 2025.07.01

부트캠프96일차 (spring Security관련)

1 ) security 의 detail객체 권한을 부여하고 사용자인증을위한 객체package springSecurity2.dto;import org.springframework.security.core.GrantedAuthority;import org.springframework.security.core.userdetails.UserDetails;import springSecurity2.entity.UserEntity;import java.util.ArrayList;import java.util.Collection;import java.util.List;public class CustomUserDetails implements UserDetails { //DB 사용자 정보 public User..

Spring 2025.07.01

부트캠프95일차 (springSecurity)

1) springSecurity 정의1) 정의웹 애플리케이션의 보안을 담당하는 프레임워크애플리케이션에서 인증(Authentication)과 권한(Authorization)을 처리하는 기능 제공이를 통해 로그인, 접근 제어, 보안 정책 쉽게 구현 가능2) 인증과 권한(1) 인증(Authentication)사용자의 신원을 확인하는 과정일반적으로 로그인이 이에 해당함(2) 권한(Authorization)사용자가 특정 리소스에 접근할 수 있는 권한이 있는지 확인예: 일반 사용자는 관리자 페이지에 접근할 수 없음 작업일단 pom.xml의 DB관련설정은 주석처리해보자커스텀로그인Spring Security의 환경설정 코드를 구성할때 주로 사용람다식이 아닌 코드를 찾는다면 적용이 불가능할 가능성 높음authorizeH..

Spring 2025.06.30

spring에서의 mapstruct 라이브러리에 관한 설명

mapper라는 개념부터 먼저 설명하고 시작하겠음 Mapper"는 일반적인 용어로, 객체 간 데이터를 변환하는 역할을 하는 코드나 클래스를 의미합니다.예를 들어, User 객체를 UserDto로 변환하거나 그 반대로 변환하는로직을 작성하는 모든 코드는 "Mapper"라고 부를 수 있습니다.mapper는 직접 수동으로작성할수도있고 라이브러리(mapperStruct)를 이용해 생성 가능함 MapStruct:MapStruct는 Mapper를 자동으로 생성해주는 자바 라이브러리입니다.개발자가 매핑 로직을 수동으로 작성하지 않아도, 인터페이스에@Mapper 어노테이션과 메서드를 정의하면, MapStruct가 컴파일 시 자동으로 매핑 코드를 생성해줍니다같은 어노테이션이지만 가져오는 라이브러리가다름.org.apac..

Spring 2025.06.29

SpringMVC 매개변수 순서의중요성(@Valid , BindingResult, Model)

Spring MVC의 컨트롤러 메서드에서@Valid와 BindingResult는 데이터 검증(@Valid) 결과를 처리하기 위해 쌍으로 동작합니다.그러나 Spring MVC는 매개변수 순서에 민감하며, 특정 규칙을 따라야 올바르게 동작합니다. (기존에 사용하던코드)@PostMapping("update") public String update(@Valid @ModelAttribute("boardDto") BoardDto board ,Model model,BindingResult bresult,HttpServletRequest request) throws Exception { System.out.println("PostUpdate"); if(bresult.hasErrors()) { return "b..

Spring 2025.06.28

부트캠프91일차 (new Project JPA,Thymeleaf사용,transaction,Log4j2)

1) 새로운프로젝트 Shop3생성 이름은 shop3로 하는 스프링부트에서 다음과같은 라이브러리들을 추가해준다JPA와 Thymeleaf도입 shop3/logic/itempackage kr.gdu.logic;import org.springframework.web.multipart.MultipartFile;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;import jakarta.persistence.Transient;import jakarta.validation.constraints.Max;import jakarta.validation.constraints.Min;import jaka..

Spring 2025.06.23

부트캠프91일차 (네이버검색api , Scheduling스케줄링)

1) 네이버검색API /WEB-INF/views/naver/search.jsp 블로그뉴스 책백과사전 카페글 지식인지역 웹문서이미지 쇼핑전문자료 페이지 별 검색 갯수 : 102050    검색어 : 검색 1-1)클라이언트 코딩 application.properties (gitIgnore처리해놔서 git에 안올라감)내가올리는 gitRepository가 private가 아니므로 이런비밀암호같은경우는 application에 담아두는것임자바에서 @Value(${필드명})으로 사용이가능함!!!naver.secret =나의 s..

Spring 2025.06.23
반응형