[스프링부트 게시판] 24. Remember Me 기능 구현

2022. 6. 29. 16:00·🚗 Backend Toy Project/스프링 부트 게시판

강의 영상에선 다루지 않았지만 로그인 시 Remember Me 기능을 구현해보고 싶어 관련 내용을 찾아보았습니다.

스프링 시큐리티에서 이와 관련하여 이미 다 내장하여 제공하고 있는 메서드들이 있어 생각보다 손쉽게 구현할 수 있었습니다.

 

📝 1. SecurityConfig 클래스 수정

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
		http
		  .csrf().disable()
		  .rememberMe()
		  	.rememberMeParameter("remember")
		  	.tokenValiditySeconds(3600)
		  	.alwaysRemember(false)
		  	.userDetailsService(principalDetailService)
		  .and()
		  .authorizeRequests()  
		    .antMatchers("/", "/auth/**", "/js/**", "/css/**", "/image/**")
		    .permitAll()
		    .anyRequest()
		    .authenticated()
		  .and()
		  	.formLogin()
		  	.loginPage("/auth/loginForm")
		  	.loginProcessingUrl("/auth/loginProc")
		  	.failureHandler(userLoginFailHandler)
		  	.defaultSuccessUrl("/");
        return http.build();
    }

추가된 메서드는 rememberMe(), rememberMeParameter(), tokenValiditySeconds(), alwaysRemember(), userDetailService() 입니다.

 

하나씩 간단하게 살펴보자면 다음과 같습니다.

  • rememberMe(): Remember Me 기능을 동작 시킴
  • rememberMeParameter(): 로그인 페이지에서 Remember Me 부분은 보통 체크박스로 구현할 텐데 이 때 해당 체크박스의 name 속성 값을 지정해주면 됨
  • tokenValiditySeconds(): 초 단위로 remember-me 토큰의 유효시간을 설정
  • alwaysRemember(): 사용자가 이 기능을 사용한다고 체크하지 않아도 자동으로 사용하게 하는 기능(기본값은 false)
  • userDetailService(): Remember Me 기능을 사용하기 위해 필요한 사용자 정보

📌 Reference

  • https://velog.io/@gmtmoney2357/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0-Remember-Me-%EA%B8%B0%EB%8A%A5
 

GitHub - Daegwon-Kim/SpringBoot-JPA-Blog

Contribute to Daegwon-Kim/SpringBoot-JPA-Blog development by creating an account on GitHub.

github.com

 

저작자표시 (새창열림)

'🚗 Backend Toy Project > 스프링 부트 게시판' 카테고리의 다른 글

[스프링부트 게시판] 26. 커스텀 Validation을 통한 중복 검사 구현  (0) 2022.07.02
[스프링부트 게시판] 25. 회원가입시 validation 체크  (0) 2022.06.30
[스프링부트 게시판] 23. 로그인 실패 예외 처리  (0) 2022.06.28
[스프링부트 게시판] 22. 개선 및 수정사항  (0) 2022.06.25
[스프링부트 게시판] 21. 댓글 구현  (2) 2022.05.17
'🚗 Backend Toy Project/스프링 부트 게시판' 카테고리의 다른 글
  • [스프링부트 게시판] 26. 커스텀 Validation을 통한 중복 검사 구현
  • [스프링부트 게시판] 25. 회원가입시 validation 체크
  • [스프링부트 게시판] 23. 로그인 실패 예외 처리
  • [스프링부트 게시판] 22. 개선 및 수정사항
Baeg-won
Baeg-won
  • Baeg-won
    좋았다면 추억이고 나빴다면 경험이다.
    Baeg-won
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 🍃 Spring, Spring Boot
        • 스프링 프레임워크 기초
        • 스프링 핵심 원리 - 기본편
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편
        • 스프링 MVC
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리..
      • 🥑 Web Technoloy
      • 🚗 Backend Toy Project
        • 스프링 부트 게시판
        • Photogram
        • Baeg-won Clothing Gallery
      • 🥇 Problem Solving
        • Breadth-First Search
        • Depth-First Search
        • Backtracking
        • Simulation
        • Two-pointer
        • Binary Search
        • Greedy
        • Dynamic Programming
        • Minimum Spanning Tree
        • Dijkstra
        • Floyd warshall
      • ☕ Java
        • 명품 자바 에센셜
        • Applications
      • 🍦 JavaScript
        • JavaScript 기초
      • 🐧 Linux
        • 이것이 리눅스다(CentOS 8)
      • 📟 Database
        • 혼자 공부하는 SQL
      • 🧬 Data Structure
      • 🎬 HTML
      • 🎤 Tech Interview
      • 📌 etc
        • Unity 2D Raising Jelly Game
        • C++
        • 영어 쉐도잉
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Baeg-won
[스프링부트 게시판] 24. Remember Me 기능 구현
상단으로

티스토리툴바