inblog logo
|
{CODE-RYU};
    SPIRNG

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

    Feb 15, 2024
    스프링 시큐리티 로그인 시스템 만들기
    Contents
    1. 기존의 로그인 방식2. 스프링 시큐리티 라이브러리 3. 메인 페이지
     
    💡
    스프링 시큐리티(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. 스프링 시큐리티 라이브러리

     
    Maven Repository: org.springframework.boot » spring-boot-starter-security » 3.2.2
    Maven Repository: org.springframework.boot » spring-boot-starter-security » 3.2.2
    https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security/3.2.2
     
    Spring Boot Starter Security
     
    // 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};

    RSS·Powered by Inblog