Spring boot 2.1 의@WebMvcTest

오늘 이야기할 내용은 Spring boot 2.1의 @WebMvcTest 어노테이션에 대해서 살펴볼텐데 기존의 @WebMvcTest과 조금 다른 부분이 있어 그것에 대해 알아보도록 하자. 만약 Spring boot 2.0 혹은 그 이전 버전에서 Spring boot 2.1로 버전을 올린다면 함께 봐야 할 수도 있다. 물론 그 상황이 라면? 필자도 Spring boot 2.0 에서 2.1로 올렸을 때 발생한 이슈였다. 2.0에서는 문제 없이 잘 실행 되었지만 2.1로 버전을 올렸더니 갑자기 테스트 케이스들이 실패하였다. 그래서 그 이유가 무엇인지 찾아보기.. Read More

[spring-boot] 블로그를 만들자. (8) GitHub login

이번시간에는 로그인을 해보자. 우리는 github로 로그인을 할텐데 페이스북이나 트위터도 비슷할 듯 하다. 우리는 인증서버는 github에 넘기고 리소스만 관리하며 된다. 일단 시큐리티 관련해서 디펜더시를 받자. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> </dependency> spring security는 그렇게 간단하지만은 않다. 그래도 Spring boot를 쓰면 기존에 어려웠던 설정들이 조금이나마 간단해 진 것을 알 수 있다. 위와 같이 디펜더시를 받았다면 yaml이나 properties 파일 설정을 해야 한다. security.oauth2.client.client-id=xxxxxxxxxxxxxxxxx security.oauth2.client.client-secret=xxxxxxxxxxxxxxxxxxxxx security.oauth2.client.access-token-uri=https://github.com/login/oauth/access_token security.oauth2.client.user-authorization-uri=https://github.com/login/oauth/authorize security.oauth2.client.client-authentication-scheme=form security.oauth2.resource.user-info-uri=https://api.github.com/user 위의 설정은 github의.. Read More

Spring Boot Method Security

오늘은 제목 그대로 Spring의 메서드로 권한을 체크해보자. 예를들어 어떤 메서드에 권한을 부여해 주는 것이다. 일단 테스트를 하기 위해 oauth2 서버도 아주 간단하게 테스트만 할 수 있을 정도로만 만들자. Spring boot 경우에는 쉽게 할 수 있다. 디펜더시부터 받자. <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 일단 시큐리티만 적었다. 웹과 기타 등등 나머지는 알아서 넣길.. @SpringBootApplication @EnableAuthorizationServer @EnableResourceServer @EnableGlobalMethodSecurity(prePostEnabled = true) public class SpringStudyApplication { public static void main(String[] args) {.. Read More