본문 바로가기
Java Spring/Security

Spring Security Framework은 어떤 도구인지 대표적인 기능 알아보기

by GGShin 2022. 7. 25.

Spring Security framework는 authentication(인증), authorization(인가), protection from attacks(외부 공격으로 부터의 보호)를 위해 사용할 수 있는 프레임워크입니다.

 

프레임워크의 도움을 받지 않고 인증, 인가 등의 기능을 구현할 수도 있지만 프레임워크를 사용하면 직접 구현해야할 필요가 없어지고 또한 보안성도 보장이 된 기능들이기에 사용하는 것이 훨씬 편리하다고 합니다.

 

먼저 인증, 인가, 외부 공격으로 부터의 보호란 무슨 의미인지 Spring doc에 나온 내용을 간단하게 살펴보겠습니다.

 

1. Authentication(인증)

  • 누가 특정 resource에 접근하려고 하는지 verify하는 방식.
  • 일반적으로 username과password를 통해 인증을 한다.
  • 인증이 완료되면 누구인지 신원을 알게되고 이를 토대로 authorization(인가)를 할 수 있게 된다.

 

2. Authorization(인가)

  • 특정 resource에 접근 허용된 사용자가 누구인지 결정해주는 행위를 의미

 

3. Protection from attacks(공격으로 부터 보호)

  • Spring security에서는 흔히 발생하는 외부 공격에 대한 방어 방법을 제공한다. 
  • CSRF로 부터 보호하는 방법, HTTP Headers를 이용한 보안 강화, HTTP Requests를 HTTPS로 우회하는 방법등을 제공한다. 

 

이러한 보안에 필수적인 요소들을 쉽게 사용할 수 있도록 해주는 프레임워크입니다.

각각 어떤식으로 사용하면 되는지 사용법과 작동방식에 대해서도 차근차근 알아보도록 하겠습니다! 

 


참고자료

 

[공식문서]

https://docs.spring.io/spring-security/reference/features/exploits/http.html

 

HTTP :: Spring Security

As a framework, Spring Security does not handle HTTP connections and thus does not provide support for HTTPS directly. However, it does provide a number of features that help with HTTPS usage.

docs.spring.io

 

 

https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter

 

Spring Security without the WebSecurityConfigurerAdapter

<p>In Spring Security 5.7.0-M2 we <a href="https://github.com/spring-projects/spring-security/issues/10822">deprecated</a> the <code>WebSecurityConfigurerAdapter</code>, as we encourage users to move towards a component-based security configuration.</p> <p

spring.io

 

반응형