본문 바로가기

스프링부트3

[springboot] Spring Security 권한 설정 외 @PreAuthorize로 추가 권한 검사 Spring Security는 Security Config 파일을 통해 접근 제한을 설정할 수 있다.하지만 대부분의 REST API 문서를 보면 userId 와 같이 기본키를  URL에 포함한다.따라서 전달받은 id와 세션에 저장된 id를 비교해 권한 검사하는 것은 선택적이지만 보안을 위해 권장한다.전달 받은 id와 세션의 정보를 비교 하는 방법으로 가장 가독성 있는 @PreAuthorize 어노테이션을 사용하는 방법이 있다.컨트롤러에 @PreAuthorize 어노테이션 사용 예시@RestControllerpublic class UserController { @PreAuthorize("#userId == authentication.principal.id") @PutMapping("/users/.. 2024. 10. 10.
DataSource 빈등록 스프링과 스프링부트 차이 스프링 부트는 자동으로 일반적인 설정을 수행하여 많은 빈을 자동으로 등록한다. 이에는 DataSource와 같이 자주 사용되는 빈도 포함된다. 따라서 보통의 경우에는 DataSource를 직접 빈으로 등록할 필요가 없다. 대신에 application.properties나 application.yml 파일을 통해 데이터베이스 연결 정보를 설정하면 스프링 부트가 자동으로 DataSource 빈을 생성하고 등록한다. 반면, 스프링은 수동으로 DataSource를 빈등록 해야 한다. application.properties나 application.yml 파일을 통해 데이터베이스 연결 정보를 설정하고, 매번 DataSource를 빈으로 등록해야 한다. (매번 DataSource 를 빈으로 등록하면 중복코드 발생하.. 2024. 4. 7.
[springboot] HTTP 상태 코드 및 리다이렉트 상태 코드의미1xx정보성 상태 코드요청 받았으나 무언가 계속되는 상태를 나타냄2xx성공요청을 성공적으로 수신/이해/수락 했다는 의미3xx리다이렉트 의미301: 요청을 서버에서 처리하지 않고 다른곳으로 유도한다. 리다이렉트되는 경우 2번의 HTTP 트랜잭션이 발생한다.4xx클라이언트 요청 오류404: 없는 url 요청 했을 때400: 파라미터 없을 때5xx서버 오류서버에서 요청 처리하는 과정에서 문제  스프링부트 @RestController에서 리다이렉트 방법:package com.pnow.controller;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpStatus;import org.springframewo.. 2024. 4. 6.