Spring Boot: study.diary 로그인 실패 사유 표시하기

diary 프로그램을 테스트하던 중에 내가 실수로 이메일 주소를 잘못 입력했었어. haha 가 아닌 hahaha 를 입력한거지. 그런데, 웹주소에 login?error 라고만 표시되고 왜 로그인이 안되는건지에 대한 이유가 표시되질 않는거야. 그래서 이번에는 로그인 실패시 사유를 표시하는 기능을 구현해보려고 해. 실패 사유 확인 실패 사유를 보여주려면 실패 사유부터 확인해야되겠지? 현재 로그인처리를 담당하고 있는 구현 코드가 LoginService 클래스에 아래와 … Read more

Spring Boot: study.diary swagger 연동 (API 테스트 목적)

swagger 란 Restful API 의 문서화, 테스트 도구인데, 시각적으로 테스트할 수 있는 UI 를 제공하고 있기 때문에아주 유용하지. swagger 가 적용되면 대충 이런 모습의 UI 화면을 사용할 수가 있어. 이번 포스트에서는 API 테스트를 목적으로 diary 프로젝트에 swagger 를 연동해보려고 해. swagger 와 연동하기 위해서는 build.gradle 에 dependency 를 추가해 주어야 해. swagger UI 화면은 http://{ipaddress}:{port}/swagger-ui.html … Read more

Spring Boot: study.diary 메일 발송 기능

diary 프로그램에 메일 발송 기능을 추가해보려고 해. Spring Boot 에서 메일발송 기능을 구현하려면 아래 dependency 를 추가해 주어야 해. 메일발송이 필요할 때 사용할 설정을 Bean 으로 만들어 사용하도록 할 생각이야. @Configuration 애노테이션을 붙여서 SendMailConfig 클래스를 아래와 같이 작성했어. 위 클래스를 작성하다가 실수한게 있었는데, @Value 애노테이션을 사용하기 위해서 import 한 패키지명이야. 아무생각없이 앞에 나온 lombok 을 … Read more

Spring Boot: study.diary 접근보안 (feat. Postman)

Spring Boot 를 이용해서 학습차원에서 개발해보고 있는 diary 프로그램이 프로그램으로서의 기본 골격은 갖추었다고 생각했어. 그런데, A 라는 사용자가 로그인해서 B 사용자가 작성한 일기를 볼 수 있다거나, 편집할 수 있는 허점이 있어. 그리고 일단 사용자로 등록한 후에 비밀번호를 변경하는 작업 역시 불가능한 상태야. 이런 보안상 허점이라거나 미진한 기능들을 한꺼번에 모아서 처리해볼께. 일기 작성자 확인하기 사용자를 한 … Read more

Spring Boot: study.diary : 로그인정보 조회

diary 프로그램은 회원가입 기능이 완료되었다. 로그인 기능이 완료되었다. 이제 로그인해서 일기를 쓸 때 로그인정보를 가져와서 해당 일기의 주인을 표시하는 기능을 구현해야 한다. 로그인한 사용자의 정보는 아래 코드를 통해서 가져올 수가 있다. 위 코드로 구해지는 값을 테스트하기 위해서 DiaryService 의 테스트 클래스를 작성해볼께. createDiary 테스트 함수에 붙인 @WithMockUser 애노테이션은 Spring Security 로 작성한 프로젝트에서 인증된 정보를 … Read more