Spring

Spring Security | WebSecurity, HttpSecurity 두가지 주요 클래스에 대하여.

이진유진 2024. 3. 13. 13:14
반응형
Spring Security에서 사용되는, 두가지 주요 클래스인 WebSecurity와 HttpSecurity를 한번 알아보겠습니다.

 

 

WebSecurity

  • Spring Security의 보안 설정을 구성하기 위한 클래스입니다. 
  • 주로 인증과 관련된 설정을 처리하며, 사용자 인증정보를 어떻게 로드하고, 비밀번호 인코딩 방식을 설정하고, 사용자의 권한을 어떻게 확인할지 구성합니다. 
  • WebSecurityConfigurerAdapter를 확장하여 사용하며, configure(WebSecurity web)메소드를 오버라이드하여 필요한 보안 설정을 추가합니다. 
  • 주요 메소드
    • configure(AuthenticationManagerBuilder auth) 
      • 사용자 인증을 구성하는 메소드입니다. 
      • 사용자의 인증정보를 로드하고, 비밀번호 인코딩 방식을 설정하는 등의 작업을 수행합니다. 

 

HttpSecurity

  • Spring Security의 HTTP 보안 설정을 구성하기 위한 클래스입니다. 
  • 주로 URL 패턴에 따라 접근을 제한하거나, 인증 및 인가에 대한 규칙을 설정합니다. 
  • WebSecurityConfigurerAdapter를 확장하여 사용하며, configure(HttpSecurity http)메소드를 오버라이드하여 필요한 보안정보를 추가합니다. 
  • 주요 메소드
    • authorizeRequests() 
      • URL 패턴에 따른 접근 권한을 설정하는 메소드입니다. 
      • 특정 URL 패턴에 대한 접근을 인증된 사용자만 허용하도록 설정할 수 있습니다. 
    • formLogin()
      • 폼 기반 로그인을 활성화하고 로그인 페이지 및 성공/실패 처리 URL을 설정하는 메소드입니다. 
    • httpBasic()
      • HTTP Basic Authentication을 활성화 하는 메소드입니다. 
    • csrf() 
      • Cross-Site Request Forgery(CSRF) 공격을 방어하기 위한 설정을 추가하는 메소드입니다. 
    • logout()
      • 로그아웃을 처리하기 위한 설정을 추가하는 메소드 입니다. 

 

일반적으로 WebSecurity는 사용자의 인증정보를 처리하고, HttpSecurity는 HTTP 요청에 대한 보안 설정을 처리합니다. 
반응형