![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcILvUB%2FbtrFaOff795%2FR0DkwlJKWkKzbuKeK0CAk0%2Fimg.png)
[Security] CORS란?
2022. 6. 19. 19:25
몰아 넣기
# CORS란? Cross-Origin Resource Sharing 의 줄인말로 한국어로 직역하면 교차 출처 리소스 공유라고 해석할 수 있다. 여기서 “교차 출처”라고 하는 것은 “다른 출처”를 의미하는 것인데, 다른 출처의 리소스 공유하는 것입니다. 조금 더 쉬운 이해를 위해 교차 출처라는 말 대신 “다른 출처”라는 단어를 사용해서 정리 할 예정이다. # CORS는 왜 필요한가요? CORS가 없이 모든 곳에서 데이터를 요청할 수 있게 되면, 다른 사이트에서 원래 사이트를 흉내낼 수 있게 됩니다 CORS가 없다면 아래와 같은 일이 일어나게 됩니다. ex) **은행과 완전히 동일하게 동작하도록 만든 웹사이트, 가짜**은행을 이용자가 사용하도록 한다. 가짜**은행을 이용하게 된다면 로그인했던 세션이나 중요..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcX1KoM%2FbtrE7DyWdt0%2FLCQq3wojSeXLkoviAHKXDk%2Fimg.png)
[java/Spring] 스프링 시큐리티 세션으로 JSESSION 받기
2022. 6. 19. 19:23
몰아 넣기
#들어가는 말 기본적이 예제의 설명은 제외했다 시큐리티에 설명은 " 스프링 시큐리티이란? " 을 클릭 인증과 인가를 제공해주는 스프링 시큐리티는 많은 필터들이 있고 일반적으론 모놀로틱 구조는 세션방식을 선택을 하며 프론트엔드 나누기 시작하면 최소 api토큰 더 큰서비스는 oauth토큰까지 확대 된다고 한다. GitHub - whitewise95/TIL: Today I Learned Today I Learned. Contribute to whitewise95/TIL development by creating an account on GitHub. github.com GitHub - whitewise95/TIL: Today I Learned Today I Learned. Contribute to whitew..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvmnTo%2FbtrE8Ro6Luw%2FkdDJzxW5CQLySRDKfrwGi0%2Fimg.png)
[java/Spring]스프링시큐리티 CORS설정
2022. 6. 19. 19:21
몰아 넣기
#CORS란? GitHub - whitewise95/TIL: Today I Learned Today I Learned. Contribute to whitewise95/TIL development by creating an account on GitHub. github.com CORS를 설정을 다 했는데 그래도 CORS에러가 발생했다... 이유는 스프링시큐리티도 사용하고 있어서 그랬다 만약 스프링 시큐리티를 사용한다면 스프링시큐리티에 설정을 해줘야한다. #예제 // CORS 허용 적용 @Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); c..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmMAVs%2FbtrE9Svn3yV%2FOaD60W4bpSF4xt9yu7koZ0%2Fimg.png)
[java/spring]SpringSecurity(스프링시큐리티)란?
2022. 6. 19. 19:16
몰아 넣기
들어가는 글 스프링 시큐리티는 책을 보고 한번 따라서 해보고 어렵지 않다라고 생각하고 넘어갔지만 ... 이번 항해99 프로젝트에서 쓰게되었는데 모든 로직이 스프링 시큐리티에 맞춰있지 않은 상태에서, 시큐리티를 넣었더니 생각보다 어려운 프레임워크라는 걸 알게 되었다. 그래서 스프링 시큐리티에서 공부하게 되었고 정말 어려운 프레임워크라는 걸 인지했다. 생각보다 시큐리티 공식 문서가 번역기로 돌려서 보면 볼만하다. Spring Security Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblJcoH%2FbtrE9QRTV32%2FMRtBivhRwJJKzIHcBIDl7k%2Fimg.png)
[java/Spring]controller에서 데이터 바인딩하는 방법
2022. 6. 19. 19:14
몰아 넣기
# 들어가는 글 이번에 프로젝트를 하면서 컨트롤러에서 데이터를 바인딩하는방법을 @RequestBody 및 @PathVariable만 주로 썼지만 다른 방법도 있다는 것도 공유하고싶었다 # @RequestBody @RequestBody는 클라이언트 측에서 보낸 데이터를 Java 코드에서 사용할 수 있는 오브젝트로 만들어 받을 수 있습니다. HTTP 요청 본문(JSON 및 XML 등)을 Java 오브젝트로 변환하는 것입니다. HTTP 요청 본문 데이터는 Spring에서 제공하는 HttpMessageConverter를 통해 타입에 맞는 객체로 변환됩니다. @PostMapping("/blog") public Long blogWrite(@RequestBody RequestBlogDto blog) { return ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnlEZz%2FbtrFdHTV5ff%2FgiQ8DaUf4KtNbYJkz45ix1%2Fimg.png)
[java/Spring] Spring Boot 프로젝트 외부 경로 파일 접근
2022. 6. 19. 19:13
몰아 넣기
스토리 문제발생 전 이미지를 업로드하는 기능을 추가했다. /static/images 폴더 안에 이미지를 추가한다. 리눅스 환경 서버에 배포 문제발생 jar 파일로 올리기는 도중에 갑작이 식은 땀이 흘렀다. jar 파일이기에 resources/static/image 경로를 못찾는다. 아~ 새로운 경로에 만들고 절대 경로로 이미지를 띄어야지 생각해서 실행함 안됨 문제 해결 지인 2명에게 물어보기도 하고 이리저리 검색 해도 해결 못함 .... 그러다가 갑작이 자신이 쓴 이미지 업로드 코드인데 한번 참조해봐라 함 업로드 경로가 누가봐도 서버에 톰캣을 설치후 톰캣 경로에 업로드하는 코드네 ㅠㅠ....하다가 앗?! 나는 내장톰캣 내장톰캣, 업로드, 이미지, 경로 라는 키워드로 서치중 Spring Boot 프로젝트 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp0xSn%2FbtrE5eFyJKT%2FnHJMupujc1tef28iBpmCUk%2Fimg.png)
[java/Spring]@Scheduled에 대해서
2022. 6. 19. 19:11
몰아 넣기
@Scheduled 이란? 주기적인 작업이 있을 때 @Scheduled 애노테이션을 사용하면 쉽게 적용할 수 있다. 특정시간 혹은 몇분 혹은 몇시간마다 동작해는 스케쥴러를 구현 사용 방법 스케쥴러를 적용하고 싶은 메소드에 @Scheduled 애노테이션을 명시해주면된다. fixedRateString과 initialDelay는 잠시 무시해도 좋다. @Scheduled(fixedRateString = "5", initialDelay = 3000) private void scheduleTest() { logger.error("hello jeong-pro"); } application(main메소드클래스)에 @EnableScheduling 애노테이션으로 스케줄러를 사용한다고 알려준다. @EnableScheduli..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAFxhg%2FbtrEHW5yc14%2FNLK95uDD7XKktieEIrwpYK%2Fimg.png)
[java/spring]IOC , DI, Bean에 대해서
2022. 6. 13. 16:32
몰아 넣기
글을 쓰게 된 이유 IOC와 DI는 처음 스프링을 배웠을 때 이해가 안되었지만 문제없이 사용하고 있어서 대충 알고 넘어갔다. 하지만 지금 다시 다루게 되었고 그 동안 스프링을 사용하는데 IOC 와 DI를 모르면 안되지 라는 말을 많이 들어가지고 이번에는 꼭 이해하고 넘어가고싶어서 내가 이해한 내용을 누군가 이해시킨다는 생각으로 정리해보았다. IoC(Inversion of Control, 제어의 역전) 스프링의 컨테이너가 필요에 따라 개발자 대신 생성하고 Bean들을 관리(제어)해주는 행위 예제로 알아보기 📍 아래 코드는 service의 더하기 라는, 숫자1 과 숫자2를 받아 콘솔에 합산값을 출력하는 메소드입니다. 특징을 살펴보겠습니다. - 단독적으로 실행되지 않습니다. = controller에서 serv..