Spring Boot : diary – jwt 로그인으로 변경, 로그아웃까지 수정

현재 diary 웹 프로그램은 세션 방식의 로그인을 사용하고 있어. 이번 포스트에서는 토큰 방식의 로그인으로 변경해보려고 해. 세션 방식의 로그인은 세션이 유지되는 동안 로그인이 유지되는 특징이 있어. 세션이 끊어지면 로그인을 다시 해주어야 하지. 그래서 remember-me 라는 쿠키를 사용해서 세션이 끊어지더라도 다시 로그인없이 웹 프로그램을 사용할 수 있게 하는 방법을 사용했었지. ☞ SpringBoot: study.diary – Spring Security … Read more

Spring Boot: study.diary : json 형식으로 Rest API 에게 전송

Spring Boot: study.diary : ajax 를 이용한 Rest API 호출로 view 와 data 분리 에서 최종적으로 만든 코드는 Rest API 를 호출할 때 application/x-www-form-urlencoded 형식의 content-type 으로 전송하는 예제였어. application/x-www-form-urlencoded 형식의 데이터는 _csrf=26906007-6d4e-4470-b76f-189dc827fa2d&_method=PUT&diary_date=2024-03-05&diary_content=4444 와 같이 key=value&key=value 형식으로 데이터가 이루어졌어. 반면에 application/json 형식의 데이터는 {_csrf: ‘49543209-c640-4c87-9c04-6e70334c5150’, _method: ‘PUT’, diary_date: ‘2024-03-05’, diary_content: 4444} 와 같이 이루어지지. Rest … Read more

Spring Boot: study.diary : ajax 를 이용한 Rest API 호출로 view 와 data 분리

일기 데이터를 수정하고 저장하는 editdiary.html 에 ajax JQuery 함수를 적용시켜볼께. 이미 작성된 일기 데이터를 읽어들여 보여주고, 수정한 후에 “저장” 버튼을 누르면 form 태그의 action URL 로 전송되는 구조였어. 이때의 action URL 은 PUT method 인 /diary/{id} 이고 DiaryController 클래스에 구현되어 있지. 이 구조를 “저장” 버튼을 클릭했을 때 ajax 함수를 호출하여 데이터를 저장하는 Rest API 를 … Read more

Spring Boot : study.diary 로그인해서 일기쓰기

diary 프로젝트에 폼 로그인 기능을 추가해서 로그인했을 때 Home 화면에서 일기 목록이 잘 보여지는것 까지는 성공을 했다. 그런데 일기쓰기 화면에서 일기를 작성하고 저장을 누르면 에러 페이지가 표시되었다. 도대체 무슨 일일까를 고민하다가, 일기쓰기 폼이 write.html 인데, 여기에서 “저장” 버튼을 누르면 처리되는 URL 에서 로그인하여 인증된 데이터가 사용되지 않은 것이 아닐까 생각되었다. write.html 파일에서 <form> 태그의 action … Read more

spring boot: study.diary : Spring Security 폼 로그인

diary 프로그램에 로그인 기능이 없어서 아무나 접근해서 읽기를 볼 수도 있고, 쓸 수도 있는 상황이야. spring boot 의 Spring Security 기능을 이용해서 폼 로그인 기능을 붙여볼께. https://start.spring.io 에서 Add Dependencies 로 security 를 검색하여 Spring Security 의존성을 추가해. Explorer 버튼으로 수정된 build.gradle 파일의 내용에서 spring security 의존성 부분을 복사해서 프로젝트의 build.gradle 에 붙여넣기 한다. build.gradle … Read more