Spring & Java
인증 & 인가 개념 정리 본문

인증 & 인가 개념 다시한번 정리
인증과 인가가 무엇이였는지 다시 한번 잡아 보고 갑시다.
인증 ( 401 에러 코드 )
인증 " 너 누구야? " 를 확인하는 과정이겠죠.
개념
- 사용자의 신원 (Identity)을 확인하는 절차
- 클라이언트가 자신이 누구인지를 증명
- 아이디/비밀번호, 토큰, 인증서 등 다양한 방식 사용
예시
- 로그인 시 아이디/비밀번호 입력 -> DB 조회 -> 일치하면 인증 성공
- JWT 토큰 헤더에 포함 -> 토큰 유효성 검증 -> 인증 성공
결과
- 인증에 성공하면, 사용자 정보가 보안 컨텍스트에 저장 됨
- 이 정보를 바탕으로 이후 요청 처리 시 누가 요청 했는지 판단할 수 있음
인가 ( 403 에러코드 )
인가 " 너 이거해도 돼" 를 판단 하는 과정
개념
- 인증된 사용자가 요청한 리소스나 기능에 접근할 권한이 있는지 판단하는 절차
- 역할 ( Role ), 권한 ( Authority ) 에 따라 접근 여부 결정
예시
- 관리자만 접근 가능한 /admin 페이지 - > 일반 사용자는 접근 차단
- 특정 게시물은 작성자만 수정 가능 - > 다른 사용자는 403 Forbidden
결과
- 인가에 실패하면 403 Forbidden
- 인가에 성공하면 요청 처리 진행

인증과 인가의 흐름 예시
(( 최초가 정말 중요합니다. ))
(( 서버에서 1. 인증을 먼저 함 ))
[클라이언트 요청]
↓
[서버: 인증(Authentication)]
- 로그인 정보 확인
- 토큰 유효성 검사
- 사용자 정보(SecurityContext) 저장
↓
[서버: 인가(Authorization)]
- 요청 URI에 대해 권한 체크
- 접근 가능 여부 판단
↓
[요청 처리 or 차단]
스프링 시큐리티에서의 인증 인가
- 인증 : 사용자의 신원 확인
- 인가 : 권한 확인
- 인증 없이 인가 X ( 항상 인증 - > 인가 순서 )
- 스프링 시큐리티는 이 두 과정을 자동화 해주는 프레임워크
'심화 Spring > Spring Security' 카테고리의 다른 글
| Spring Security Context와 인증구조 및 실습 (0) | 2026.01.22 |
|---|---|
| Spring Security 개념 및 구조 (0) | 2026.01.22 |