본문 바로가기

생각정리/항해99

[주특기 1주차] Spring 4일차

인증과 인가

인증(Authentication) : 해당 사용자가 실제 사용자인지 확인하는 개념. 로그인이 대표적인 예.

인가(Authorization) : 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념. 관리자 권한이 대표적인 예

쿠키-세션 인증 방식
JWT 기반 인증 방식

쿠키와 세션

쿠키(Cookie) : 클라이언트에 저장될 목적으로 작은 정보를 담은 파일.

세션(Session) : 서버에서 일정시간 동안 클라이언트 별 정보를 서버에 저장.

서버에서 생성한 '세선 ID'는 클라이언트의 쿠키값으로 저장되어 클라이언트 식별에 사용된다.

JWT (Json Web Token)

Json 포맷을 이용해 사용자에 대한 정보를 전달하며, 필요한 모든 정보를 한 객체에 담아서 전달하기 때문에 Token 한 가지로 인증을 완료할 수 있다.

HEADER.PAYLOAD.SIGNATURE 형태로 토큰 1개를 이룬다.

일반적으로 쿠키 저장소를 사용하여 저장한다.

Filter

클라이언트로 부터 오는 최초 요청과 최종 응답 단계에 위치하며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있다.

주로 범용적으로 처리해야 하는 작업(로깅 및 보안 처리등)에 활용한다.

인증, 인가 관련 로직들을 처리할 수 있어 로그인 관련 로직을 분리하여 관리할 수 있다.

Spring Security

스프링 기반 애플리케이션의 인증과 권한을  담당하는 스프링의 하위 프레임워크.

기본적인 회원가입과 로그인 기능과 화면을 제공 한다. 설정하여 다른 화면으로도 사용 가능.

인증과 인가의 내용이 모두 관련되어 설명하는데 쿠키와 세션, 필터에 관해서는 한 번쯤은 들어본 내용이어서 다행히 이해가 그나마 빨리 되었다.
JWT 또한 쿠키와 세션과 비슷한 느낌으로 활용 부분만 차이가 있는 걸로 느껴지는데 Spring Security는 상당히 양도 많고 내용자체도 어려워서 한번 봐서는 될 내용이 아닌 것 같다.
페어분이 강의를 다 들으실 때 까지 스파르타 강의도 다시 한번 보고 다른 강의도 한번 보면서 내용이해를 더 해보고 있어야겠다.

 

참조 사이트

https://jwt.io/

 

JWT.IO

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

jwt.io

 

'생각정리 > 항해99' 카테고리의 다른 글

[주특기 1주차] Spring 6일차  (0) 2023.08.30
[주특기 1주차] Spring 5일차  (0) 2023.08.29
[Weekly I Learned]8월 4주차  (0) 2023.08.27
[주특기 1주차] Spring 3일차  (0) 2023.08.27
[주특기 1주차] Spring 2일차  (0) 2023.08.27