분류 전체보기 171

RestTemplate으로 basic auth 를 통한 rest api 사용

Basic auth를 인증으로 사용하고 있는 rest api에 접근 할 때는 아래와 같이 하면 된다. 하지만 BasicAuthenticationInterceptor가 스프링 5.1.1 부터 Deprecated 되었기 때문에 지양하고 org.springframework.http.HttpHeaders#setBasicAuth 를 사용하도록 한다. [AS-IS] RestTemplate restTemplate = new RestTemplate(); String url = "http://domain:port/test"; restTemplate.getInterceptors().add(new BasicAuthorizationInterceptor("id", "pw")); ResponseEntity response = r..

spring-project 2020.01.19

Spring Security Multiple HttpSecurity(Form Login & Http Login)

하나의 프로젝트에서 폼로그인도 되고 Http Login도 되도록 설정을 하려면 다음과 같이 설정을 변경해 주면 된다. Reference 참조 https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#multiple-httpsecurity Spring Security Reference The authenticator is also responsible for retrieving any required user attributes. This is because the permissions on the attributes may depend on the type of authentication being used. For ex..

spring-project 2020.01.19

Facade Pattern

Facade Pattern이란? facade를 사전에서 검색하면 '(건물의) 정면[앞면]' 이란 의미가 나온다. 디자인 패턴의 분류(생성, 행위, 구조) 중에서 구조(structure)에 관한 패턴을 말한다. 건물의 정면처럼 외부에서 봤을 때 보여지는 부분에 대한 인터페이스를 제공한다. 다시 말하면, Facade Pattern은 여러 서브 시스템 인터페이스에 대한 통합 인터페이스를 제공하여 서브 시스템을 보다 쉽게 사용할 수 있는 상위레벨 인터페이스를 정의하는 것을 말합니다. Facade Pattern의 장점은 무엇인가? Facade는 클라이언트의 요청을 수행할 수 있는 서브시스템으로 전달합니다. 대부분의 경우 하나의 요청 둘 이상의 서브시스템에 위임됩니다. 이 때, Facade는 클라이언트와 서브시스템..

designpattern 2020.01.18

스프링에서 form submit 으로 가변(멀티) 데이터 받기

form submit으로 정해지지 않은 수의 데이터를 받아야 할 경우가 있다. 간단하게 말하면 화면에서는 같은 name으로 값들을 전달하고 서버에서는 배열로 받는다. 아래와 같은 경우. item1 item2 item3 ...... ...... 화면 체크리스트 항목 체크리스트 항목 체크리스트 항목 서버 @RequestMapping(value = "/checkListRegister", method = RequestMethod.POST) public String checkListRegister(Locale locale, Model mode, CheckList checkList) { log.debug(checkList.toString()); return "/checklist/checkList"; } public..

spring-project 2020.01.10