[SSO] CAS 클라이언트 (1) - 샘플 프로젝트 : 시작하기
SSO(Single Sign On) 에서 가장 중요한 것은 CAS 인증서버를 구성하는 것이다.
하지만 인증서버를 사용하는 클라이언트가 없다면 인증서버는 없는 것이나 다름없다.
이번글 부터는 클라이언트 서비스 프로젝트를 설명하도록 하겠다.
일반적으로 SSO 는 다수의 서비스가 하나의 인증경로를 통해 인증처리를 하기위해 사용하므로,
반드시 두 개 이상의 서비스가 필요하다고 생각 할 수 있지만 하나의 서비스만 있어도 문제가 없다.
왜냐하면 인증처리만 다른 곳에서 처리하는 것이기 때문이다.
따라서 먼저 하나의 클라이언트 서비스만 생성하고 나서 테스트 한 뒤, 정상적으로 작동하면 해당 서비스를 복사해서 SSO 가 잘 동작하는지 확인 해보는 방식으로 진행 하겠다.
먼저 Spring initializr를 사용해서 프로젝트를 생성하자.
빨간색 박스를 확인해자. 의존성으로 Web, Security, Freemarker 를 추가했다.
그리고 Cas의 SSO 인증을 위한 의존성을 추가하자.
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-cas</artifactId>
</dependency>
그리고 나서 application.properties 파일에 port를 9000 으로 설정하고 서버를 실행시켜보자.
서버를 실행하고 브라우저에 'localhost:9000' 주소를 입력하면 'localhost:9000/login' 으로 redirect 될 것이다.
로그인 화면을 추가한 적이 없지만 로그인 화면이 보인다.
이것은 Spring Security를 의존성 추가하면 별도 작업을 하지 않아도 된다.
아직 CAS 인증 서버와 연결하지는 않았지만 기본적으로 Spring Security가 잘 동작하는지를 확인하기 위해 다음과 같은 작업을 추가한다.
그리고 재시작 한 뒤 ID와 Password를 입력하면 로그인이 될 것이다.
Spring Security 가 잘 동작하는 것을 확인 했으니 이제 진짜 인증서버와 연동하는 작업을 하면 된다.
그전에 더 중요한 것이 있는데, CAS 인증 서버에 클라이언트를 등록하는 것이다.
다음 글에서는 클라이언트 등록하는 방법에 대해 알아보겠다.