본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발85

13. 뷰 중복 코드 제거 타임리프 프레그먼트 (Fragment) 사용하기 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#including-template-fragments 프레그먼트 정의 th:gragement 프레그먼트 사용 th:insert th:replace 뷰 중복 코드 메인 네비게이션 하단 (footer) 헤더 (header) /resources/templates에 fragment.html 생성 로그인 가입 알림 스터디 개설 프로필 Username 프로필 스터디 설정 로그아웃 ⓒ2020 모든 뷰 템플릿에 fragments 적용 index.html // 적용 // 적용 스터디올래 // 적용 sign-up.html // 적용 // 적용 계정 만들기 닉네임 .. 2020. 4. 19.
12. 프론트엔드 라이브러리 설정 WebJar vs NPM 개인적으로는 WebJar 보다는 NPM 선호. WebJar은 라이브러리 업데이트가 느리다. 심지어 올라오지 않는 라이브러리도 많다. 스프링 부트와 NPM src/main/resources/static 디렉토리 이하는 정적 리소스로 제공한다. (스프링 부트) package.json에 프론트엔드 라이브러리를 제공한다. 이 둘을 응용하면, 즉 static 디렉토리 아래에 package.json을 사용해서 라이브러리를 받아오면 정적 리소스로 프론트엔드 라이브러리를 사용할 수 있다. 고려해야 할 점 빌드 버전관리 시큐리티 설정 빌드는 어떻게? 메이븐 pon.xml을 빌드할 때 static 디렉토리 아래에 있는 package.json도 빌드하도록 설정해야 한다. 빌드를 안하면 프론트엔드 라.. 2020. 4. 19.
11. 회원 가입: 메인 네비게이션 메뉴 변경 네비게이션 뷰 인증 정보가 없는 경우 인증 정보가 있는 경우 타임리프 스프링 시큐리티 org.thymeleaf.extras thymeleaf-extras-springsecurity5 인증 정보가 없는 경우 로그인/가입 버튼 보여주기 인증 정보가 있는 경우 알림 / 스터디 개설 / 프로필 드랍다운 메뉴 보여주기 이메일 인증을 하지 않은 사용자의 자동 로그인은 "인증" 경고 창 보여주기 index.html 작성 로그인 가입 알림 스터디 개설 프로필 Username 프로필 스터디 설정 로그아웃 스터디올래 ⓒ2020 참고: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1# 스프링과 JPA 기반 웹 애플리케이션 개.. 2020. 4. 19.
10. 회원 가입: 가입 완료 후 자동 로그인 목표 회원 가입 완료시 자동 로그인 이메일 인증 완료시 자동 로그인 스프링 시큐리티 관점에서 로그인 SecurityContext에 Authentication(Token)이 존재하는가? UsernamePasswordAuthenticationToken 뷰 이메일 인증을 하지 않은 사용자의 자동 로그인은 "인증" 경고 창 보여주기 이메일 인증을 마친 사용자의 자동 로그인 깔끔! 메인 네비게이션 메뉴의 변경 AccountController 수정 package me.weekbelt.studyolle.account; @RequiredArgsConstructor @Controller public class AccountController { // 기존 코드........... @PostMapping("/sign-up.. 2020. 4. 18.