import org.apache.commons.io.IOUtils; import org.springframework.web.util.ContentCachingRequestWrapper; import org.springframework.web.util.ContentCachingResponseWrapper; import org.springframework.web.util.WebUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; imp..
환경 spring boot 2.6.10 gradle dependency dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' } 내 서버의 Request와 Response에..
많은 블로그를 찾아봤는데 이게 제일 나은 것 같다. https://simplesolution.dev/spring-boot-sftp-file-transfer-using-jsch-java-library/ Spring Boot SFTP File Transfer using JSch Java Library In this post we will show you how to transfer files from a local host to a remote server and download files from a remote server to local host via SFTP in Spring Boot applications. In order to transfer files via SFTP in Java applic..
스프링 프레임워크 5.1부터 추가된 org.springframework.DataSize 클래스 DataSize를 표현하는데 사용하는 클래스이다. 웹개발 하다보면 spring.servlet.multipart.max-file-size=200MB 이런 설정을 볼 수 있는데 그때 사용되는 클래스이다. 스프링부트에서는 컨버터를 지원한다. StringToDataSizeConverter NumberToDataSizeConverter 1MB 같은 설정을 String으로 설정해줬으면 Byte로 1,048,576 으로 바꿔주는 역할을 한다. 말그대로 Converter 스프링부트가 실행되면서 autoconfiguration 으로 자동으로 다 등록해준다.. org.springframework.DataSize 클래스 @Supp..
버전별로 나뉘는 듯 하다. 항상 실무에서는 최신을 쓸 수 없기때문에.. Version 2.4.x resource 밑에 schema.sql, data.sql 파일이 있으면 시작 시 자동으로 시작한다. 아래 설정값은 default로 always이므로 작성하지 않아도 된다. spring.datasource.initialization-mode=always Version 2.5.x 이상 .sql 파일이 자동으로 실행되지 않음. 아래 설정 값을 추가 해줘야 정상적으로 동작한다. spring.sql.init.mode=always
인증/인가 API - ExceptionTranslationFilter ExceptionTranslationFilter는 두 가지 예외를 처리하는 필터이다. (1) AuthenticationException - 인증 예외 처리 AuthenticationEntryPoint 호출 로그인 페이지 이동, 401 오큐 코드 전달 등 인증 예외가 발생하기 전의 요청 정보를 저장한다. RequestCache - 사용자의 이전 요청 정보를 세션에 저장 SavedRequest - 사용자가 요청했던 request 파라미터 값들이나 헤더값들이 저장되어 있다. (2) AccessDeniedException - 인가 예외 처리 AccessDenideHandler에서 예외 처리하도록 제공한다. (1) 사용자가 /user에 접근한다..
인가 API - 권한 설정과 표현식 권한 설정은 선언적 방식과 동적 방식으로 나눌 수 있다. 선언적 방식 URL - http.antMatchers("/users/**").hasRole("USER") Method - @PreAuthroize("hasRole(`USER`)") 동적 방식 - DB 연동 프로그래밍 @Override protected void configure(HttpSecurity http) throws Exception { //인가정책 http .antMatcher("/shop/**") .authorizeRequests() .antMatchers("/shop/login", "/shop/users/**").permitAll() .antMatchers("/shop/user").hasRole("U..
인증 API - SessionManagementFilter 1. 세션 관리 - 인증 시 사용자의 세션 정보르 등록, 조회, 삭제 등의 세션 이력을 관리 2. 동시적 세션 제어 - 동일 계정으로 접속이 허용되는 최대 세션수를 제한 3. 세션 고정 보호 - 인증 할 때마다 세션쿠키를 새로 발급하여 공격자의 쿠키 조작을 방지 4. 세션 생성 정책 - Always, If_Required, Never, Stateless 인증 API - ConcurrentSessionFilter - 매 요청 마다 현재 사용자의 세션 만료 여부 체크 - 세션이 만료되었을 경우 즉시 만료 처리 - session.isExpired() 값이 true이면 로그아웃 처리하고 즉시 오류페이지를 응답한다. 기존 세션 만료가 default로 설정..
- Total
- Today
- Yesterday
- rocky
- Mac
- springboot
- Java
- 베리 심플
- mybatis
- Kotlin
- Spring
- 오라클
- Spring Security
- svn
- LocalDate
- mybatis config
- Bash tab
- intellij
- elasticsearch
- Github Status
- docker
- jQuery
- 프로페셔널 스튜던트
- localtime
- 북리뷰
- input
- maven
- Linux
- config-location
- oracle
- LocalDateTime
- JavaScript
- window
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |