개발놀이터
CAS 인증서버 구축하기 (1) : CAS 서버 가져오기 본문
CAS의 Overview를 보고 오시는 것을 추천드립니다!
https://coding-review.tistory.com/475
포스팅에 들어가기 앞서 Docker와 Docker-Compose에 대한 내용은 포스팅과 어울리지않아 빼도록 하겠습니다. Docker와 관련된 내용은 아래의 링크를 확인해주세요! 또한 AWS에 대한 내용도 생략하도록 하겠습니다.
https://coding-review.tistory.com/category/%EB%B0%B0%ED%8F%AC/docker
https://coding-review.tistory.com/category/%EB%B0%B0%ED%8F%AC/docker
먼저 CAS overlay template의 Git을 풀링해야합니다. 현재 CAS는 7.0버전까지 릴리즈되었지만 저는 조금 더 안정적인 버전인 6.6버전을 선택했습니다.
$ git clone -b 6.6 https://github.com/apereo/cas-overlay-template.git cas-server
깃을 클론하고 나면 이런 모습입니다. 여기서 주요하게 봐야할 부분은 Dockerfile, docker-compose.yml, etc, build.gradle입니다. 사실 src/main/resources에 etc파일을 둬야하는지는 잘 모르겠습니다. 하지만 중요한건 위의 네개가 확실합니다.
1. build.gradle에 의존성 추가하기
build.gradle에 dependencies 부분에 해당 세줄을 추가해줍니다.
간단하게 설명하자면 json기반 설정파일을 읽기위한 json-servier-registry이고 CAS서버에서 데이터베이스에 접근하기위해 JDBC와 JDBC-Driver를 의존하도록 합니다.
2. docker-compose.yml 파일에서 etc 폴더 바인딩하기
volumes에 현재 존재하는 /etc/cas 폴더를 컨테이너 내부의 /etc/cas로 바인딩해주는 작업이 필요합니다. 해당 docker-copose 파일을 실행하게 되면 같은 디렉토리에 있는 Dockerfile을 기반으로 빌드를 해주고 이미지를 생성합니다.
그리고 해당 이미지를 기반으로 컨테이너를 생성해주는 작업을 거치게됩니다.
3. saml 폴더와 services 폴더 생성하기
$ sudo docker-compose -f ./docker-compose.yml up -d
실행하면 다음과 같은 에러가 뜰 것입니다.
해당 에러는 읽어보시면 대충 감이 잡히실겁니다. /etc/cas/saml 폴더가 없다는 것입니다.
우리는 어차피 docker-compose.yml을 이용해 바인딩하기 때문에 프로젝트 내부에 직접 만들어주기만 하면 됩니다.
$ cd /etc/cas
$ mkdir saml
그리고 다시 docker-compose를 실행해줍니다.
그럼 또 이와같은 에러가 발생합니다.
이역시 services 폴더가 없어서 그런것입니다. 만들어주도록 합시다.
$ mkdir services
자 이제 CAS 서버에 HTTPS를 적용시키도록 합시다. CAS는 인증정보가 티켓형태로 이동하기 때문에 TLS/SSL 통신이 필수적입니다.
다음 포스팅에서 자세히 알아보도록 하죠!
'Spring > Spring Security' 카테고리의 다른 글
CAS 인증서버 구축하기 (3) : 사용자 등록하기 (0) | 2024.02.25 |
---|---|
CAS 인증서버 구축하기 (2) : CAS 서버에 HTTPS 적용하기 (1) | 2024.02.25 |
SSO (부제 : Spring Security CAS) (0) | 2024.02.25 |
스프링 시큐리티 + JWT 인증 레이어 추가하기 (4) : 주요 클래스 (SecurityConfig와 OAuth2 Handler) (0) | 2023.05.20 |
스프링 시큐리티 + JWT 인증 레이어 추가하기 (2) : 주요 클래스 (JwtProvider와 JwtFilter) (0) | 2023.05.20 |