Spring

스프링 시큐리티(Spring Security) 설정

쿠카이든 2022. 2. 17. 12:21
728x90
  • 스프링 시큐리티(Spring Security) 설정 추가1
    • security dependency 추가하기
    • pom.xml에 security와 관련된 의존성 추가 후 “Reload All Maven Projects”을 클릭하여 의존성을 받아온다.
  • <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

spring-boot-starter-security Dependency 추가 완료

  • 스프링 시큐리티 설정 추가2
    • SecurityConfig 소스 작성
    • 유저에게 선택적으로 권한요청이 가능
    • @Configuration
      @EnableWebSecurity  // (1)
      public class SecurityConfig extends WebSecurityConfigurerAdapter {  // (2)
      
          @Autowired    
          MemberService memberService;
      
          @Override    
          protected void configure(HttpSecurity http) throws Exception { // (3)
             
          }
      
          @Bean    
          public PasswordEncoder passwordEncoder() {  // (4)
              return new BCryptPasswordEncoder();
          }  
      }
    • (1),(2) WebSecurityConfigurerAdapter를 상속받는 클래스에 @EnableWebSecurity 어노테이션을 선언하면 SpringSecurityFilterChain이 자동으로 포함된다.
      • WebSecurityConfigurerAdapter를 상속받아서 메소드 오버라이딩을 통해 보안 설정을 커스터마이징 할 수 있다.
    • (3) http 요청에 대한 보안을 설정한다. 페이지 권한 설정, 로그인 페이지 설정, 로그아웃 메소드 등에 대한 설정을 작성한다.
    • (4) 비밀번호를 DB에 그대로 저장했을 경우, DB가 해킹당하면 고객의 회원 정보가 그대로 노출된다. 이를 해결하기 위해 BCryptPasswordEncoder의 해시 함수를 이용하여 비밀번호를 암호화하여 저장한다.

 

- 출처 : (백견불여일타) 스프링 부트 쇼핑몰 프로젝트 with JPA

728x90