스프링 시큐리티 로그인 시스템 만들기

Feb 15, 2024
스프링 시큐리티 로그인 시스템 만들기
 
💡
스프링 시큐리티(Spring Security) 는 애플리케이션에서 보안을 구현하기 위한 프레임워크. 인증(Authentication)과 인가(Authorization)를 담당한다.
 

1. 기존의 로그인 방식

@PostMapping("/login") public String login(UserRequest.LoginDTO requestDTO) { System.out.println(requestDTO); // toString -> @Data if (requestDTO.getUsername().length() < 3) { return "error/400"; // ViewResolver 설정이 되어 있음. (앞 경로, 뒤 경로) } User user = userRepository.findByUsernameAndPassword(requestDTO); if (user == null) { // 조회 안됨 (401) return "error/401"; } else { // 조회 됐음 (인증됨) session.setAttribute("sessionUser", user); // 락카에 담음 (StateFul) } return "redirect:/"; // 컨트롤러가 존재하면 무조건 redirect 외우기 }
 

2. 스프링 시큐리티 라이브러리

 
 
 
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security', version: '3.2.2'
3.2.2 버전
 
💡
라이브러리에 버전이 있으면 버전이 고정된다. 그래서 버전이 달라지면 오류가 날 수 있기 때문에 버전을 생략하는 것이 좋다.
 
implementation 'org.springframework.boot:spring-boot-starter-security'
버전 생략
 
notion image
프로그램을 실행하면 이런 시큐리티 패스워드가 생성된다.
 
security password: e33f0d19-9c28-4818-bc74-0a7966f5210c
 

3. 메인 페이지

 
notion image
 
메인 페이지를 실행하면 login 페이지로 리다이렉트 된다.
 
notion image
 
아이디는 user , 비밀번호는 시큐리티 패스워드를 입력한다.
 
모든 주소가 인증이 필요한 페이지로 변경된다.
Share article

{CODE-RYU};