Spring(5)
-
spring cloud config client설정(parameter store)
이번에는 저번글에 이어서 spring clout confg client를 설정하는 방법을 작성해 보겠습니다. 먼저, dependency에 spring cloud config client와 spring cloud starter bootstrap을 추가합니다. client를 설정하기 위해서는 bootstrap.yml(properties)을 사용하는데 spring boot 2.4부터는 사용이 불가하기 때문에 starter bootstrap을 추가해서 bootstrap.yml을 사용할 수 있게 하는 것입니다. 다음으로 bootstrap.yml을 사용하기 위해 application.yml에 다음을 추가해줍니다. 이제 bootstrap.yml을 설정합니다. 앞에서 설정한 application name과 실행중인 서..
2021.08.23 -
spring cloud config server설정(AWS parameter store)
이번에는 저번 작성한 git에 저장하는 방법이 아닌 aws parameter store에 저장하는 방법을 적어보겠습니다. 먼저, 첫 번째로는 dependency에 spring cloud config server와 aws java sdk ssm을 추가합니다. 다음으로 parameter store에 값을 저장하는 코드를 작성합니다. @Override public void add(Parameter resource) { log.warn("[add] resource = {}", resource); try { //값을 json형식으로 변환 ObjectMapper mapper = new ObjectMapper(); String param = mapper.writeValueAsString(resource.getProp..
2021.08.20 -
spring cloud config server설정(git)
1. dependency에 spring cloud config server를 추가한다. ⇒ actuator는 필수 라이브러리는 아니지만 endpoint를 통한 컨피그 서버의 구성 정보나 상태를 확인하기 위해서 필요하다.(현재 단계에서는 필요없음) 2. application.yml혹은 properties값을 설정해준다. 2-1. private repository는 ssh key를 사용해야 clone할 수 있다. 2-2. .ssh폴더에 key를 생성한다. $ ssh-keygen -m PEM -t rsa -b 4096 -C "your email address" -f config-server.id_rsa 2-3. 생성한 키 중 공개키파일(.pub)의 text를 복사하여 붙여넣고 등록한다. 2-4. key 등록이..
2021.08.15 -
Spring Security / JWT
Spring Security 스프링 기반의 애플리케이션 보안을 담당하는 프레임워크로 Filter 기반으로 동작하기 때문에 Spring MVC와 분리되어 동작한다. 접근 주체(Principal) : 보호된 대상에 접근하는 유저 인증(Authenticate) : 요청을 보낸 유저가 누구인지 확인 인가(Authorization) : 현재 유저가 어떤 서비스, 페이지에 접근할 수 있는 권한을 부여 Spring Security 동작 AuthenticationFilter(UsernamePasswordAuthenticationFilter)는 사용자의 요청을 가로챈다. 그리고 인증이 필요한 요청이라면 사용자의 JSESSIONID(쿠키로 발급하여 값을 통해 세션을 유지할 수 있도록 한다./이전에 접근 여부를 확인할 수 ..
2021.08.14 -
SpringBoot와 Slack webhook을 사용하여 메세지 보내기
이 글에서는 slack webhook을 사용하여 springboot api를 호출해 slack으로 메세지를 전송하는 방법을 보여줍니다. 1. slack 앱에서 Incoming WebHooks 추가 및 설정 1. slack앱에서 Incoming WebHooks를 추가합니다. 2. slack에 추가를 클릭합니다. 3. 메세지를 보낼 기존에 있는 채널을 선택하거나 새로운 채널을 생성합니다. 4. Webhook URL을 복사합니다. 2. 메세지 전송을 위한 코드 작성 @PostMapping("/publish/slack") public void send(@RequestBody String message) { RestTemplate restTemplate = new RestTemplate(); Map request..
2021.08.10