🚗 Backend Toy Project/스프링 부트 게시판

    [스프링부트 게시판] 18. 게시글(추가, 상세보기, 삭제, 수정, 페이징)

    📝 게시글 작성 이번 시간에는 게시글과 관련된 기능들을 구현해볼텐데, 먼저 글쓰기 기능을 구현해보도록 하겠습니다. 우선 BoardController 클래스에 다음과 같이 함수를 추가 해주었습니다. 이후 header.jsp 파일에 설정되어있는 경로를 모호하지 않도록 다음과 같이 변경해주었습니다. 다음으로 views 파일 아래에 board 폴더를 생성하고 loginForm.jsp 파일을 복사하여 해당 폴더 아래에 'saveForm'이라는 이름으로 붙여넣기 해줍니다. 이제 saveForm.jsp 파일의 내용을 다음과 같이 수정해줍니다. 추가로 summernote는 HTML5 기반의 깔끔한 UI와 함께 자주 사용하는 여러 기능을 제공해주는 오픈소스 웹 에디터입니다. 이후 글쓰기 탭으로 이동해보면 다음과 같이 구..

    [스프링부트 게시판] 17. 비밀번호 해쉬 후 회원가입 및 로그인하기

    📝 BCryptPasswordEncoder 이번 시간에는 사용자가 회원가입을 할 때 작성한 비밀번호를 해쉬로 암호화한 뒤 데이터베이스에 저장하고 로그인 해보는 작업을 수행해보도록 하겠습니다. 우선 지난 시간에 구현한 SecurityConfig 클래스에 아래와 같은 함수를 추가해주었습니다. 위 함수는 BCryptPasswordEncoder 객체를 반환하며 @Bean 어노테이션을 메서드에 명시해주어 스프링 빈으로 등록함으로써, 해당 객체를 원할 때 가져다 쓸 수 있도록 하였습니다. 해당 객체는 암호화하기 위한 메소드를 가지고 있으며 우리는 이 객체를 사용할 것입니다. UserService 클래스를 열고 회원가입 함수에 다음과 같이 코드를 추가해줍니다. 다음으로 이전 시간에 작성하였던 SecurityConfi..

    [스프링부트 게시판] 16. 스프링 시큐리티 체험해보기

    📝 Spring Security 이번 시간에는 스프링 시큐리티 라이브러리를 사용하여 로그인 기능을 수정해보도록 하겠습니다. 스프링 시큐리티에 대한 보다 자세한 설명은 아래 링크에서 확인하실 수 있습니다. 스프링 부트 Spring Security 📝 스프링 시큐리티란? 스프링 시큐리티는 스프링 기반 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 주로 서블릿 필터와 이들로 구성된 필터체인으 daegwonkim.tistory.com 우선 pom.xml 파일에서 이전에 주석처리 해놓았던 시큐리티 라이브러리와 관련된 부분을 주석 해제해주었습니다. 이후 UserApiController에 구현한 로그인 함수를 주석처리 한 뒤 프로젝트를 실행하여 결과를 확인해봅니다. 그럼 위와 ..

    [스프링부트 게시판] 15. 로그인 기능 구현하기

    이번 시간에는 로그인하는 기능을 구현해보도록 하겠습니다. 우선 회원가입 기능을 구현할 때와 마찬가지로 이번에는 loginForm.jsp 파일을 다음과 같이 수정해줍니다. joinForm.jsp 파일과 마찬가지로 태그의 action 속성을 제거해주었고 태그는 태그 바깥으로 빼주었으며 type 속성 대신 id 속성을 추가하여 'btn-login'으로 설정해주었습니다. 또한 태그를 추가하여 역시 user.js 파일과 해당 파일을 연결해주었습니다. 다음으로 user.js 파일의 save 함수 부분을 그대로 복사하여 아래쪽에 붙여넣기 한 뒤 함수 이름을 'login'으로 수정하고 내부 코드를 다음과 같이 수정해주었습니다. 이제 username과 password를 통해 select를 수행하여 로그인을 진행해야 하는..