Spring & Java
인증과 인가 개념 및 보안 흐름 본문

인증과 인가
인증 ( Authentication )
인증은 사용자가 누구인지 확인하는 절차입니다.
시스템에 등록된 사용자인지를 증명하는 과정이라고 할 수 있습니다.
● 웹 사이트에 아이디와 비밀번호를 입력하여 로그인하는 것
● 스마트폰 잠금을 지문이나 얼굴 인식으로 해제하는 것
● 건물 출입구에서 신분증을 자시하여 신원을 확인받는 것
웹 서비스는 HTTP가 Stateless(무상태) 이기 때문에, 서버는 이 요청이 어떤 사용자로부터 왔는지를 기억할 수 없습니다.
그래서 로그인 이후에도 사용자를 식별하려면 "상태를 유지하는 방법" 이 필요합니다.
인가 ( Authorization ) 권한
인가는 인증된 사용자가 특정 리소스나 기능에 접근할 수 있는 권한이 있는지 확인하는 절차입니다.
즉 "무엇을 할 수 있는지" 를 허가 해주는 과정입니다.
● 일반 사용자는 게시글을 읽고 쓸 수 있지만, 관리자는 다른 사용자의 게시글을 삭제할 수 있는 것
● 유료 구독자만 프리미엄 콘텐츠를 볼 수 있는 것
● 회사 건물에 출입은 했지만 (인증) , 특정 부서 사무실이나 서버실에는 들어갈 수 없는 것
세션과 JWT

세션 Session
- Session은 "서버가 상태를 기억하는 방식"
> 서버 중심 인증
JWT ( Json Web Token )
- JWT는 "클라이언트가 상태를 들고 다니는 방식 "
> 클라이언트 중심 인증
'숙련 Spring > 인증과 인가' 카테고리의 다른 글
| ArgumentResolver (0) | 2026.01.06 |
|---|---|
| Session 과 JWT (면접 준비) (0) | 2026.01.06 |
| HTTP 헤더와 쿠키 (0) | 2026.01.06 |