웹 애플리케이션을 구현할 때 아마도 가장 먼저 접하게 되는 부분이 회원가입 및 로그인 서비스 구현이다.
사용자가 서비스를 보다 더 안전하고 효율적으로 사용할 수 있도록 하는데 있어, 인증(Authentication) 과 인가(Authorization) 과정은 매우 중요하다.
인증과 인가가 필요한 이유
사용자와 관리자와 같이 특정 역할에 따라 접근할 수 있는 데이터에 제한을 두고자 할 때, 인증과 인가가 필요하다. 이렇게 권한별로 접근을 달리함으로써 데이터를 보다 안전하게 관리할 수 있게 된다.
🏷️ 인증 (Authentication)이란?
◽ 인증은 사용자가 누구인지 확인하는 단계이다.
◽ 인증의 대표적인 예로 '로그인'이 있다.
🏷️인가 (Authorization)란?
◽인증을 통해 검증된 사용자가 애플리케이션 내부의 리소스에 접근할 때 사용자가 해당 리소스에 접근할 권리가 있는지를 확인하는 단계이다.
예를 들어,
로그인한 사용자(인증을 통해 검증된 사용자)가 특정 게시판에 접근해서 글을 보려고 하는 경우, 게시판 접근 등급을 확인해 접근을 허가하거나 거부하는 것이 대표적인 인가의 사례이다.
◽인가를 주거나, 인가된 사용자인지 확인하기 위해서 Session 또는 JWT를 사용한다.
<출처> 스프링 부트 핵심 가이드 [장정우 지음]
'Programming > Spring' 카테고리의 다른 글
[Spring] 테이블 매핑, 영속성 전이 (cascade) (0) | 2024.03.13 |
---|---|
[Spring] - @RestControllerAdvice를 통한 커스텀 예외 처리 작성 방법 (0) | 2024.02.27 |
[Spring 🤔] - @Autowired vs @RequiredArgsConstructor (2) | 2024.02.22 |
[Spring 🤔] - lombok @Builder, @NoArgsConstructor, @AllArgsConstructor의 사용에 대해 (0) | 2024.02.19 |
[Spring] - 데이터베이스 (1) | 2024.02.13 |