Spring Security 소개
Spring Security 소개
Spring Security
- Spring에서 인증, 인가 등 애플리케이션의 보안을 담당하는 하위 프레임워크
- 보안과 관련한 많은 기능을 제공하고, 개발자가 직접 작성해야 하는 부분을 줄여 줌
- OAuth 2.0에 대한 지원도 제공
Web security
와Method security
라는 두 개의 구조 존재Web security
- 클라이언트와 servlet 사이에
filter
를 두어 인증, 로깅 등을 수행하는 방법 - Spring security가 여러
filter
를 제공하기도 하며, 개발자가 직접filter
를 구현 가능
- 클라이언트와 servlet 사이에
Method security
- 권한 관리가 필요한 각 메소드마다 인증 관련 설정하는 방법
- 메소드별로 설정이 가능하므로, 세밀한 권한 관리 가능
@SpringBootApplication
이 붙은 클래스에서@EnableGlobalMethodSecurity(securedEnable = true)
를 설정해야 함- 이후 메소드에
@Secure("ROLE_USER")
등을 붙여 권한 설정을 해 줄 수 있음
Web security
와Method Security
를 둘 다 사용하는 것이 권장됨Session
기반의 인증 시스템을 사용할 수도,JWT
등의Token
기반의 인증 시스템을 활용할 수도 있음
References
- https://mangkyu.tistory.com/76
- https://velog.io/@carrykim/%EC%82%AC%EC%9D%B4%EB%93%9C%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B7%B8%EC%A0%80-%EA%B7%B8%EB%9F%B0-REST-API%EB%A1%9C-%EA%B4%9C%EC%B0%AE%EC%9D%80%EA%B0%80-%EC%A7%84%EC%A0%95%ED%95%9C-REST-API-%EA%B5%AC%ED%98%84%ED%95%B4%EB%B3%B4%EA%B8%B0-Spring-Security-Oauth2-%EC%84%A4%EC%A0%95