본문 바로가기
Spring/Security

Spring Security

by y.j 2022. 5. 30.
728x90

Spring Security

웹사이트는 각종 서비스를 하기 위한 리소스와 서비스를 사용하는 유저들의 개인 정보를 가지고 있다. 이들 리소스를 보호하기 위해서 일반적으로 웹 사이트는 두가지 보안 정책을 설정해야 합니다.

 1. 서버 리소스

 2. 유저들의 개인정보

이러한 개인정보를 보호하기 위해 개발자를 서포트 해주는 것이 Spring Security다.

관심을 가지고 있는 것은 2가지 이다.

  • 인증 : 사용자가 누구인지
  • 권한 : 어떤 권한을 가지고 있는지

 

인증(Authentication)

싸이트에 접근하는 사람이 누구인지 시스템이 알아야 한다. 익명사용자를 허용하는 경우도 있지만, 특정 리소스에 접근하거나 개인화된 사용성을 보장 받기 위해서는 반드시 로그인하는 과정이 필요하다. 로그인은 보통 username / password를 입력하고 로그인하는 경우와 sns사이트를 통해 인증을 대리하는 경우가 있다.

 

1. UsernamePassword 인증

  •  Session 관리
  •  토큰 관리 (sessionless)

2. Sns 로그인 ( 소셜 로그인 ) : 인증 위임

 

 

권한(Authorization)

사용자가 누구인지 알았다면 사이트 관리자 혹은 시스템은 로그인한 사용자가 어떤 일을 할 수 있는지 권한을 설정한다. 권한은 특정 페이지에 접근하거나 특정 리소스에 접근 할 수 있는 권한여부를 판단하는데 사용된다. 개발자는 권한이 있는 사용자에게만 페이지나 리소스 접근을 허용하도록 코딩해야 하는데, 이런 코드를 쉽게 작성 할 수 있도록 프레임워크를 제공하는 것이 스프링 시큐리티 프레임워크(Spring Security Framework)이다.

  • Secured : deparecated
  • PrePostAuthorize
  • AOP :복잡한 경우

 

메모리 사용자 인증

간단히 특정된 소스를 위한 서비스나 테스트를 위해 사용하는 용도로 사용한다. 스프링 시큐리티를 테스트 하기 위한 용도로 사용한다.

 

  • 기본 사용자 로그인
  • application.yml에 설정하고 로그인하기
  • UserDetailService를 이용하기
  • WebSecurityConfigurerAdapter를 사용하기

 

 

728x90

'Spring > Security' 카테고리의 다른 글

Authentication 메커니즘  (0) 2022.06.11
기본 실습  (0) 2022.06.05
폼 로그인  (0) 2022.05.30
SpringSecurity구조  (0) 2022.05.30

댓글