개념
1. CAS
CAS(Central Authentication Service, 중앙 인증 서비스)
예일대학교에서 시작한 오픈소스 웹 SSO(싱글 사인온) 구현 프레임워크입니다.
2. SSO(싱글 사인온)
여러 웹 서비스의 신원 확인을 단일 주소에서 통합 처리하는 방식입니다.
- 특징: 애플리케이션끼리 HTTPS 웹 프로토콜로 통신하며 전역 유일 로그인 진입점을 사용합니다
- 쉬운 설명: 같은 브라우저에서 인증 센터에 한 번만 로그인하면 신뢰된 모든 사이트에 반복 로그인 없이 접속할 수 있습니다
3. SSO 체계의 세 가지 역할
- User: 최종 사용자(브라우저)
- 웹 애플리케이션(여러 업무 시스템)
- SSO 인증 센터(유일)
4. SSO 핵심 원칙 세 가지
- 모든 계정 로그인 동작은 SSO 인증 센터에서 일괄 실행합니다;
- 인증 센터는 각 웹 애플리케이션에 현재 사용자 인증 여부를 알리는 메커니즘을 제공합니다;
- 인증 센터는 모든 업무 웹 애플리케이션과 사전에 신뢰 관계를 맺어야 합니다.
두 가지 핵심 구성요소
CAS Server(인증 서버 측)
- 독립 배포되는 웹 프로그램이며 유일한 인증 허브
- 역할: 아이디와 비밀번호를 받아 사용자 신원 검증;티켓(Ticket) 발급, 전역 세션 Cookie(TGC) 관리
CAS Client(각 업무 시스템에 내장되는 클라이언트)
- 각 업무 웹 애플리케이션 안에 배포하며 보통 Filter 필터 형태로 구현
- 역할: 보호된 자원 요청을 가로챔;로그인하지 않은 경우 브라우저를 CAS Server 로그인 페이지로 자동 리다이렉트
처리 흐름
- 사용자가 업무 시스템 자원에 접근 → CAS Client가 요청을 가로채고
Service Ticket이 없음을 감지 - Client가 브라우저를 리다이렉트시켜 CAS Server 로그인 주소로 보내고 현재 업무 시스템 주소(Service)를 함께 전달
- 사용자는 CAS 서버에서 아이디 비밀번호를 입력해 로그인 인증 완료
- 로그인 성공: CAS Server가 브라우저에 TGC(Ticket Granting Cookie)전역 세션 쿠키를 저장
- 일회용 티켓 Service Ticket(ST) 생성
- CAS Server가 브라우저를 다시 업무 시스템 주소로 리다이렉트하고 URL 파라미터에
Ticket=xxx를 붙임 - 업무 시스템의 CAS Client가 백엔드에서 서버 간 요청을 수행,Service 주소와 Ticket을 보내 CAS Server에 티켓 유효성 검증 요청
- CAS Server가 티켓이 유효함을 확인하고 사용자 이름 등 신원 정보를 반환
- 검증 통과, 업무 시스템이 로컬 세션을 생성하고 사용자가 페이지를 정상 이용
TGC의 역할:브라우저에 TGC 쿠키가 유지되는 한 CAS 연동된 다른 시스템에 접속할 때 로그인 페이지가 뜨지 않고 자동으로 싱글 사인온이 진행됩니다.
소개
Next: 설치