본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발/1부 (개발환경, 회원가입, 로그인, 계정설정)31

15. 현재 인증된 사용자 정보 참조 스프링 시큐리티의 스프링 웹 MVC 지원 @AuthenticationPrincipal 핸들러 매개변수로 현재 인증된 Principal을 참조할 수 있다. Principal을 어디에 넣었더라? package me.weekbelt.studyolle.account; @RequiredArgsConstructor @Service public class AccountService { // 기존 코드 ....... public void login(Account account) { // username과 password를 조합해서 UsernamePasswordAuthenticationToken 인스턴스를 생성 UsernamePasswordAuthenticationToken token = new UsernamePassw.. 2020. 4. 20.
14. 첫 페이지 보완 이번에 할 일 네비게이션 바에 Fontawesome으로 아이콘 추가 이메일 인증을 마치지 않은 사용자에게 메시지 보여주기 jdenticon으로 프로필 이미지 생성하기 NPM으로 프론트엔드 라이브러리 서치(/static에서) npm install font-awesome npm install jdenticon 폰트어썸 아이콘 사용하기 Jdenticon으로 아바타 생성하기 2020. 4. 20.
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.