반응형

전체 글 293

SSO (Single side-on)

Single Side-On은 한번의 로그인으로 여러개의 독립적인 애플리케이션이나 서비스에 자동으로 인증되어 접속할 수 있는 보안 기술입니다. SSL(Secure Sockets Layer) 등록인터넷 데이터 보안 암호화 1. Domain 신청- 개발 서버, 운영 서버 별도로 도메인 필요- 도메인명 설정 필요예) 개발서버 : https://dev.project.test.net 예) 운영서버 : https://project.test.net 2. SSL 인증서 요청 - 요청 후 받은 SSL 인증서(.pfx) 파일 + Password 필요- IIS (웹서버유형) SSL 인증서 등록하기- mmc.exe 파일 실행- 개인용, 중간 인증 기관용, 루트 기관용 모두에 pfx파일 등록- SSL 인증서 등록 시, 등록중인 ..

39. 로깅 간단히 알아보기

운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고,별도의 로 깅 라이브러리를 사용해서 로그를 출력한다. 참고로 로그 관련 라이브러리도 많고, 깊게 들어가면 끝이 없기 때문에, 여기서는 최소한의 사용 방법만 알아본다. 로깅 라이브러리스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리( spring-boot-starter-logging )가 함께 포 함된다.스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다.SLF4J - http://www.slf4j.org Logback - http://logback.qos.ch  로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을..

38. 프로젝트 생성

스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io    프로젝트 선택Project: Gradle ProjectLanguage: JavaSpring Boot: 2.4.xProject MetadataGroup: helloArtifact: springmvcName: springmvcPackage name: hello.springmvcPackaging: Jar (주의!) Java: 11Dependencies: Spring Web, Thymeleaf, Lombok  주의!Packaging는 War가 아니라 Jar를 선택해주세요. JSP를 사용하지 않기 때문에 Jar를 사용하는 것이 좋습니다. 앞으로 스프링 부트를 사용하면 이 방식을 주로 사용하게 됩니다. Jar..

37. 스프링 MVC - 실용적인 방식

MVC 프레임워크 만들기에서 v3은 ModelView를 개발자가 직접 생성해서 반환했기 때문에, 불편했던 기억이 날 것이 다. 물론 v4를 만들면서 실용적으로 개선한 기억도 날 것이다.스프링 MVC는 개발자가 편리하게 개발할 수 있도록 수 많은 편의 기능을 제공한다. **실무에서는 지금부터 설명하는 방식을 주로 사용한다.**   **SpringMemberControllerV3** hello.servlet.domain.member.MemberRepository;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapp..

36. 스프링 MVC - 컨트롤러 통합

`@RequestMapping` 을 잘 보면 클래스 단위가 아니라 메서드 단위에 적용된 것을 확인할 수 있다. 따라서 컨트롤러 클 래스를 유연하게 하나로 통합할 수 있다  SpringMemberControllerV2**package hello.servlet.web.springmvc.v2;import hello.servlet.domain.member.Member;import hello.servlet.domain.member.MemberRepository;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.s..

35. 스프링 MVC - 시작하기

스프링이 제공하는 컨트롤러는 애노테이션 기반으로 동작해서, 매우 유연하고 실용적이다. 과거에는 자바 언어에 애노 테이션이 없기도 했고, 스프링도 처음부터 이런 유연한 컨트롤러를 제공한 것은 아니다.  @RequestMapping스프링은 애노테이션을 활용한 매우 유연하고, 실용적인 컨트롤러를 만들었는데 이것이 바로 `@RequestMapping` 애 노테이션을 사용하는 컨트롤러이다. 다들 한번쯤 사용해보았을 것이다. 여담이지만 과거에는 스프링 프레임워크가 MVC 부분이 약해서 스프링을 사용하더라도 MVC 웹 기술은 스트럿츠 같은 다른 프레임워크를 사용했었다. 그런데 `@RequestMapping` 기반의 애노테이션 컨트롤러가 등장하면서, MVC 부분도 스프링의 완승으로 끝이 났다. @RequestMappi..

34. 뷰 리졸버

이번에는 뷰 리졸버에 대해서 자세히 알아보자   OldController - View 조회할 수 있도록 변경 package hello.servlet.web.springmvc.old;import org.springframework.stereotype.Component;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@Component("/springmvc/old-controller")public class ..

33. 핸들러 매핑과 핸들러 어뎁터

핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지 알아보자. 지금은 전혀 사용하지 않지만, 과거에 주로 사용했던 스프링이 제공하는 간단한 컨트롤러로 핸들러 매핑과 어댑터를 이해해보자.   Controller 인터페이스과거 버전 스프링 컨트롤러 org.springframework.web.servlet.mvc.Controllerpublic interface Controller { ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;} 스프링도 처음에는 이런 딱딱한 형식의 컨트롤러를 제공했다. 참고Controller 인터페이스는 @Controller 애노테이션과는..

32. 스프링 MVC 전체 구조

스프링 MVC 전체 구조 직접 만든 MVC 프레임워크와 스프링 MVC를 비교해보자. 직접 만든 MVC 프레임워크 구조  SpringMVC 구조 직접 만든 프레임워크 스프링 MVC 비교 FrontController → DispatcherServlethandlerMappingMap → HandlerMapping MyHandlerAdapter → HandlerAdapterModelView → ModelAndViewviewResolver → ViewResolverMyView → View DispatcherServlet 구조 살펴보기org.springframework.web.servlet.DispatcherServle 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다.스프링 MVC의 프론트 컨트롤러가 바로 ..

2. SecurityBuilder / SecurityConfigurer

스프링 시큐리티는 초기화때 인증, 인가와 관련된 여러 절차가 필요하다.여러개 객체, 설정, 기타 여러가지 일을 한다. 이런 일들을 종합적으로 처리하는 두개의 클래스가 있다.SecurityBuilder와 SecurityConfigurer 이다이 두개의 클래스를 잘 이해하면 스프링 시큐리티의 초기화 작업에 대해 어느정도 이해 상태에서전체적인 시큐리티 API와 기능들을 알 수 있을것이다. 이 두 클래스가 어떤 역할을 하는지 알아보자SecurityBuilder빌더 클래스로서 웹 보안을 구성하는 빈 객체와 설정 클래스들을 생성하는 역할을 하며 대표적으로 webSecurity와 ★ HttpSecurity(중요함) 가 있다. SecurityConfigurerHttp 요청과 관련된 보안처리를 담당하는 필터들을 생성하고..

Spring Security 2024.05.26
반응형