스프링 시큐리티(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'
버전 생략
프로그램을 실행하면 이런 시큐리티 패스워드가 생성된다.
security password: e33f0d19-9c28-4818-bc74-0a7966f5210c
3. 메인 페이지
메인 페이지를 실행하면 login 페이지로 리다이렉트 된다.
아이디는 user , 비밀번호는 시큐리티 패스워드를 입력한다.
모든 주소가 인증이 필요한 페이지로 변경된다.
Share article