Spring Boot: study.diary 멤버 가입

데이터베이스에 사용자 테이블 member 를 추가 일기데이터 테이블(diary) 에도 누가 작성한 일기인지를 알 수 있도록 email 컬럼을 추가 Member 클래스에 멤버를 추가 Diary 클래스에도 멤버를 추가 member 테이블에 대한 기본적인 CRUD 매퍼를 작성 member 에 대한 매퍼 인터페이스 작성 매퍼 환경(mybatis-config.xml) 수정 member 테이블과 Member 에 대한 매퍼 인터페이스가 만들어졌으니 LoginService 의 loadUserByUsername 에 작성해두었던 … Read more

spring boot : 설정파일 분리 (IntelliJ, Jenkins)

spring boot 프로젝트의 설정 파일인 application.yml (application.properties 확장자가 기본이야) 은 resources 디렉토리에 존재하기 때문에 프로그램을 빌드하면 해당 파일이 포함되어 보안에 문제가 있어. Gradle 의 Tasks 항목 아래의 build/bootJar 를 선택해서 실행해보면 배포를 위한 빌드를 할 수 있어. 빌드된 파일은 프로젝트 폴더 아래의 build/libs 디렉토리에서 찾을 수가 있는데, study.diary-0.0.1-SNAPSHOT.jar 라고 되어 있네. 확장자는 .jar 이지만, 압축파일 … Read more

jenkins: diary 서비스화

프로젝트 가장 상위에 script 디렉토리를 만들고 그 아래에 4개의 파일을 생성한다. script 디렉토리를 src 디렉토리의 바깥에 둔 이유는 소스에 포함시키지 않기 위해서이다. 서버에 동작하고 있는 프로그램의 프로세스를 종료시킨다. 위 명령어로 동작중인 프로세스의 PID 를 확인하고 위 명령어로 프로세스를 종료시킨다. jenkins 에 아래 스크립트를 등록한다. 10.10.1.2 서버에 ssh 로 접속하여 관리자권한으로 명령어를 실행시키기 위해서 sudo 를 … 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