CAS 무료 SSO 솔루션
로그 관리가있는 다국어 인증 소프트웨어
Central Authentication Service는 OpenID, OAUTH 및 SAML 프로토콜을 사용하여 인증 및 인증 기능을 제공하는 오픈 소스 SSO 도구입니다.
개요
웹 애플리케이션이 급격히 성장하고 있으며 기업은 서비스와 도구를 제공하려는 의도로 여러 영역을 목표로하는 경향이 있습니다. 매일 많은 사용자가 증가하고 있으며 데이터 보안 및 데이터 관리가 엔터프라이즈 비즈니스의 주요 관심사가되고 있습니다. 그러나 오픈 소스 커뮤니티는 이러한 우려를 쿠션하기위한 많은 솔루션을 제공했으며 소프트웨어의 단일 사인이 그 중 하나입니다. CAS는 시스템의 무료 및 오픈 소스 단일 사인이며 CAS는 사용자 인증 및 인증을 제공하기 위해 독점적으로 구축 된 티켓 기반 프로토콜을 사용합니다. 이 프로토콜의 아키텍처는 클라이언트 및 서버 협업을 기반으로합니다. CAS 서버는 사용자를 인증하고 응용 프로그램에 대한 액세스를 보조합니다. 반면,이 단일 기호의 클라이언트는 CAS 서버가 부여한 사용자의 정보를 검색하는 것을 관리합니다. 이 오픈 소스 소프트웨어는 자체 CAS 프로토콜을 지원할뿐만 아니라 OpenID, Oauth, OpenID Connect, REST, WSFEDERATION 및 SAML 프로토콜을 지원합니다. CAS는 공개/개인 키 쌍을 사용하여 높은 신뢰 수준을 유지하는 타사와의 통합을위한 완전한 생태계를 보유하고 있습니다. CAS는 주로 Java로 작성되었으며 배포 및 개발에 관한 포괄적 인 문서를 제공합니다. 소프트웨어 에이 단일 사인을 백업하는 강력한 커뮤니티가 있습니다.
특징
- OAUTH V2 프로토콜
- OpenID & OpenID Connect 프로토콜
- 비밀번호 관리
- 다양한 배포 옵션
- 다중 인 인증
- 다국어
- 로그인 / 로그 아웃
- 많은 인증 메커니즘 (예 : JAAS, LDAP, RDBMS)
- WS-FEDERATION 수동 요청자 프로토콜
- 쉽게 설정할 수 있습니다
- 제 3 자와의 통합
- 많은 승인 메커니즘 (예 : ABAC, 시간/날짜, 휴식)
- 로그를 관리하려면 UI
- 모니터링 및 통계를 관리하는 UI
- Facebook, Twitter 등을 위임 한 인증
설치
다음 명령을 실행하여 리포트를 복제하십시오.
git clone git@github.com:apereo/cas.git cas-server
성공적인 복제 후 다음 명령을 실행하십시오.
cd cas-server
git checkout master
이제 다음 명령을 통해 코드베이스를 작성하십시오.
./gradlew build install --parallel -x test -x javadoc -x check
-x
를 사용하여 빌드의 위상을 완전히 건너 뛰고 무시할 수 있습니다. (즉,-x test
,-x check
).
Gradle이 귀하를 위해 종속성 및 새로운 모듈 버전을 해결할 필요가 없다면 빌드를 훨씬 더 빨리 사용하는 경향이있는 ‘-offline’플래그를 활용할 수 있습니다.
Gradle 데몬을 사용하는 것도 큰 도움이됩니다. 기본적으로 활성화해야합니다.
-build-cache
를 통해 Gradle의 빌드 캐시를 활성화하면 빌드 시간을 크게 향상시킬 수 있습니다.
Windows를 사용하는 경우 OS 간의 라인 엔딩 차이로 인해 빌드에 필요한-dskipnpmlint = true
가 표시 될 수 있습니다.
SSL을 구성하려면`thekeystore ‘파일에는 CAS 서버 도메인에 대해 발행 된 SSL 개인/공개 키가 포함되어야합니다. Keystore와 인증서를 작성하려면 JDK의 ‘KeyTool’명령을 사용해야합니다. 다음 명령이 예로 사용될 수 있습니다.
keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore /etc/cas/thekeystore -ext san=dns:$REPLACE_WITH_FULL_MACHINE_NAME
/etc/hosts
파일 (Windows :c : \ windows \ system32 \ drivers \ etc \ hosts
)에서 다음 항목을 추가해야 할 수도 있습니다.
127.0.0.1 mymachine.domain.edu
KeyStore에서 내보낸 인증서는 Java 플랫폼의 글로벌 키 스토어로 가져와야합니다.
keytool -export -file /etc/cas/config/cas.crt -keystore /etc/cas/thekeystore -alias cas
sudo keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore $JAVA_HOME/jre/lib/security/cacerts
여기서java_home '은 JDK를 설치 한 위치입니다 (예 :
/library/java/javavirtualmachines/jdk [version] .jdk/contents/home`).
배포하려면 다음 명령을 실행하십시오.
cd webapp/cas-server-webapp-tomcat
../../gradlew build bootRun --parallel --offline --configure-on-demand --build-cache --stacktrace
기본적으로 CAS는`[httpsmymachinedomainedu8443cas] (https://href.li/?https://mymachine.domain.edu:843/cas)에서 사용할 수 있습니다.
Docker에서 달리기
Docker의 경우 Docker Image는 [도커 허브] (https://href.li/?https://hub.docker.com/r/apereo/cas/)에 있습니다. Docker 이미지를 끌어 내려면 다음 명령을 실행하십시오.
docker pull apereo/cas:v[A.B.C]
여기서[a.b.c]
는 CAS 서버 버전에 매핑 된 이미지 태그를 나타냅니다.