spring boot29 [Spring Boot][Error] org.springframework.web.HttpMediaTypeNotSupportedException 아래와 같이 에러가 발생할 때가 있습니다. [Error 명] Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported] 어떤 상황에서 발생을 하는 걸까요?? 이번에 Spring Security 케이스를 구성할때도 발생이 가능합니다. 기존에 REST API를 개발할 때, Controller.java를 개발했었습니다. 그때 코드를 보면... @RequestMapping(value = "/stationMise", method = RequestMethod.POST) public ResponseEntity in.. 2019. 12. 29. [Spring Boot] 23. Spring Security (Etc) 이번에는 그 동안 어려운 부분을 봤으니, view를 구현하는 부분을 다른방법으로 최적화 해보도록 하겠습니다. 1. AS-IS 현재 구현한 방식은 WebConfig에 addViewControllers를 통해서 resources > templates에 있는 html과 경로를 매핑하여 화면을 제공하였습니다. 이 방식에는 단점이라면 단점이 존재할 수 있는데... 페이지만 이동하는 get방식과 form을 통해서 이동이 필요한 post방식에 대한 논리적인 분리가 쉽지 않습니다. 그래서 아래과 같이 구현이 됬습니다. [WebConfiguration.java] @Configuration public class WebConfiguration implements WebMvcConfigurer { @Override publ.. 2019. 12. 28. [Spring Boot][Error] BCryptPasswordEncoder Spring Security로 회원가입 / 로그인 / 로그아웃을 구현할때 BCryptPasswordEncoder를 사용했었습니다. 그때, DB에 Password를 암호화해서 저장하고... 실제로 로그인 시도가 있을때 이를 비교해서 인증된 사용자 인지 아닌지를 판단해서 그 이후 로직을 처리했습니다. 그때, 고려했던 방법은 아래의 2가지 였습니다. 그 중에 뒤에방식을 사용했었는데요... 왜 그렇게 구현했는지 실제로 눈으로 확인해 보겠습니다. Form으로 입력된 Password를 암호화 하여, DB의 암호화 된 Password와 equals로 비교하여 인증 Form으로 입력된 Password를 DB의 암호화 된 Password와 자체 제공하는 메서드를 통해서 비교하여 인증 1. equals( ) 실제로 DB에.. 2019. 12. 27. [Spring Boot] 22. Spring Security (3) - Authorization 이번엔 지난번에 완성했던 Customize Form에 적용했던 Spring Security에 완성도를 더하겠습니다. 바로 Authorization과 Encryption 입니다. 권한과 암호화는 접근하기 힘들것 같지만 의외로 어렵지 않습니다. 그럼 바로 시작해 보겠습니다. 구현은 아래의 절차로 진행하겠습니다. 관련 DB table 생성 (Role_Info, User_Role) 회원가입 페이지 생성 및 관련 API 구현 View 페이지 구성 입력된 비밀번호는 암호화 적용하여 저장 로그인 시 Role 부여 1. 관련 DB table 생성 Authorization 구현을 위해서는 권한정보를 저장하는 Table... 사용자와 권한을 매핑하는 Table이 필요합니다. 그래서 2개의 Table을 추가하도록 하겠습니다.. 2019. 12. 26. 이전 1 2 3 4 5 6 7 8 다음