본문 바로가기

Spring/Security

📝 Spring Security란?

Spring Security 란?

  • spring 기반의 어플리케이션의 보안을 담당하는 프레임 워크이다.
  • ‘인증’ 과 ‘권한 ‘에 대한 부분을 filter 흐름에 따라 처리하며 filter는 Servlet으로 가기 전 가장 먼저 url 요청을 받는다.
  • 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다.

인증**(Authentication)과 권한(Authorization)**

  • 인증

사이트에 접속하려는 자가 누구인지 확인하는 절차

usernamepassword를 통해 인증(session, token 관리)

sns로그인을 통한 인증 위임을 할 수도 있다

  • 권한

사용자가 어떤 일을 할 수 있는지 권한 설정하는 절차

특정 페이지/리소스에 접근할 수 있는지 권한을 판단한다.

Spring Security 는 인증 절차를 거치고 권한 절차를 진행하며 이 과정에서 Principal을 아이디로, Credential을 비밀번호로 사용하는 Credential 기반의 인증 방식을 사용한다.