본문 바로가기

전체 글187

17. 로그인 / 로그아웃 커스텀 로그인 페이지 만들기 스프링 시큐리티 로그인/로그아웃 설정 http.formLogin() .loginPage("/login").permitAll(); http.logout() .logoutSuccessUrl("/"); 스프링 시큐리티 로그인 기본 값 username password POST "/login" SecurityConfig에서 로그인 로그아웃 처리 추가 package me.weekbelt.studyolle.config; @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity htt.. 2020. 4. 20.
16. 확인 가입 이메일 재전송 기능 구현한 로직 가입 확인 이메일을 재전송할 수 있는 기능 제공 하지만, 너무 자주 이메일을 전송할 경우 리소스를 낭비할 수 있다는 문제가 있음 보완책으로, 1시간에 한 번만 인증 메일을 전송할 수 있도록 제한한다. GET "/check-email" 가입 확인 이메일을 전송한 이메일 주소(== 가입할 때 입력한 이메일 주소)를 화면에 보여줌. 재전송 버튼 보여주기. 재전송 버튼 클릭하면 GET "/resend-confirm-email" 요청 전송 GET "/resend-confirm-email" 인증 메일을 다시 전송할 수 있는지 확인한 뒤에 보낼 수 있으면 전송하고, 첫 페이지로 리다이렉트 보낼 수 없으면 에러 메시지를 모델에 담아주고 이메일 확인 페이지 다시 보여주기 SecurityConfig 설정 수정.. 2020. 4. 20.
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.