본문 바로가기
반응형

스프링프레임워크4

Spring Security에 관하여 #1 예전에 Spring Security 스터디를 하면서 정리한 글이다. 총 두편에 걸쳐서 작성했고, 1편부터 시작한다. 1. 웹 보안과 스프링 시큐리티 웹 어플리케이션을 개발할 때 항상 보안 관련 부분을 신경써야한다. 악의적인 접근에 제대로 대처하지 못한다면 서비스가 정상적으로 운영되지 않을 것이며, 개인정보 등의 데이터 유출이 발생하면서 신뢰도가 떨어질 것이다. 이는 유저 이탈을 야기할 수 있기 때문에 서비스를 개발하고 운영하는데 있어서 반드시 살펴봐야한다. 스프링 프레임워크에서는 이를 Spring Security 라는 이름으로 쉽게 추가할 수 있도록 환경을 제공한다. 보안에서는 크게 인증/인가 두 가지 측면에서 살펴 볼 수 있다. 인증(Authentication) : 현재 사용자가 누군지 확인하는 과정... 2020. 5. 24.
Spring 빈/컨테이너 생명주기 (Lifecycle) Spring 컨테이너 생명주기 (Life Cycle) 생성, 빈 설정, 사용, 소멸 순으로 구성되어있다. AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); // 빈 추가로 등록 ctx.register(); // 갱신해야 반영됨 ctx.refresh(); // 소멸, 빈도 함께 ctx.close() // JVM소멸시 자동으로 소멸되게끔 ctx.registerShutdownHook() Bean 생명주기 (Lifecycle) 객체 생성 - 초기화 - 사용 - 소멸 순으로 유지된다. 스프링 컨테이너에 의해 객체가 생성되고 초기화와 소멸의 과정을 거친다. 각 초기화와 소멸을 구현하는 방법에는 각각 3가지가 존재한다... 2020. 5. 24.
Spring AOP Proxy에 관하여 AOP Proxy Spring AOP는 두가지 Type의 Proxy를 지원하고 있다. JDK Dynamic Proxy CGLIB Proxy 기본적으로 Spring AOP는 JDK Dynamic Proxy를 사용한다. 이외에 CGLIB Proxy방식도 사용 가능하다. 모델이 인터페이스로 구현되어 있지 않으면 CGLIB을 기본으로 사용한다. JDK Dynamic Proxy J2SE 1.3 부터 제공하는 기능. 메서드 요청을 인터셉트해서 추가적인 행동을 끼워넣을 수 있다. _인터페이스에 대한 Proxy만 지원_하기 때문에 클래스에 대한 Proxy를 지원하지 않는다. Proxy기능을 사용하기 위해 인터페이스를 사용해만 하는 제약사항이 있다. 구현되어 있는 애플리케이션에 Proxy기능을 추가할 때 클래스로 구현되.. 2020. 5. 24.
Spring RestTemplate HTTP기반의 통신하는 경우 스프링에서 이를 위해 RestTemplate를 제공 RestTemplate은 동기적인 Http Client 클래스 RESTfult HTTP Server와의 커뮤니케이션을 간단하게 해준다. HTTP Connection으로 작동되며, URL과 결과를 제공하는 코드가 있다. 기본 RestTemplate은 HTTP connection을 맺기 위해 기본 JDK에 의존한다. 개발자는 setRequestFactory 속성을 통해 Apache HttpComponents, Netty, OkHttp 등 같이 다른 HTTP 라이브러리로 바꿀 수 있다. 1. RestTemplate 기본 사용법 RestTemplate 객체 생성 접근 메서드 사용해서 결과 받음 RestTemplate template.. 2019. 11. 27.