CAS to pojedynczy znak open source na oprogramowaniu

CAS Darmowe rozwiązanie SSO

Wielojęzyczne oprogramowanie do uwierzytelniania z zarządzaniem dziennikami

Centralna usługa uwierzytelniania to narzędzie SSO open source, które zapewnia funkcje uwierzytelniania i autoryzacji za pomocą protokołów OpenID, OAuth i SAML.

Przegląd

Aplikacje internetowe szybko rosną, a firmy mają tendencję do celowania w kilka obszarów z zamiarem świadczenia usług i narzędzi. Istnieje ogromna liczba użytkowników rośnie z dnia na dzień, a bezpieczeństwo danych i zarządzanie danymi stają się głównymi problemami przedsiębiorstw przedsiębiorstw. Jednak społeczność open source dostarczyła wiele rozwiązań w celu zamachu tych obaw, a jeden z nich jest jednym z nich. CAS jest bezpłatnym i open source pojedynczy znak w systemie i wykorzystuje protokół CAS oparty na biletach, który jest zbudowany wyłącznie w celu zapewnienia uwierzytelniania i autoryzacji użytkownika. Architektura tego protokołu opiera się na współpracy klienta i serwera. Serwer CAS uwierzytelnia użytkowników i zapewnia dostęp do aplikacji. Podczas gdy klient tego pojedynczego znaku na technologii zajmuje się pobieraniem informacji użytkowników przyznanych przez serwer CAS. To oprogramowanie typu open source nie tylko obsługuje własny protokół CA, ale także obsługuje protokoły OpenID, OAuth, OpenId Connect, Rest, WSFederation i SAML. CAS ma pełny ekosystem integracji ze stronami trzecimi, który utrzymuje wysokie poziomy zaufania za pomocą pary kluczy publicznych/prywatnych. CAS jest napisany głównie w Javie i zapewnia kompleksową dokumentację dotyczącą wdrażania i rozwoju. Istnieje silna społeczność tworząca kopię zapasową tego pojedynczego znaku na oprogramowaniu.

Wymagania systemowe

  • JDK 11
  • Apache Tomcat
  • Docker (opcjonalnie)

Cechy

  • Protokół OAuth V2
  • Protokół OpenId & OpenId Connect
  • Zarządzanie hasłem
  • Różne opcje wdrażania
  • Uwierzytelnianie wieloczynnikowe
  • Wielojęzyczne
  • Zaloguj się / wylogowanie się
  • Wiele mechanizmów uwierzytelniania (np. JAAS, LDAP, RDBMS)
  • Protokół biernego żądania WS-Federation
  • Łatwy w konfiguracji
  • Integracje z stronami trzecimi
  • Wiele mechanizmów autoryzacji (np. ABAC, godzina/data, odpoczynek)
  • Interfejs zarządzania dziennikami
  • Interfejs użytkownika do zarządzania monitorowaniem i statystykami
  • Delegowane uwierzytelnianie na Facebooku, Twitterze i innych

Instalacja

Uruchom następujące polecenie, aby sklonować repozytorium:

    git clone git@github.com:apereo/cas.git cas-server

Po udanym klonie uruchom następujące polecenie:

    cd cas-server

    git checkout master

Teraz zbuduj bazę kodową za pomocą następującego polecenia:

    ./gradlew build install --parallel -x test -x javadoc -x check

Możesz użyć „-x”, aby całkowicie pominąć/zignorować fazę w kompilacji. (tj. -x test, -x check). Jeśli nie potrzebujesz, aby gradle rozwiązywać/aktualizować zależności i nowe wersje modułów dla siebie, możesz skorzystać z flagi „–fofline” podczas budowy, która zwykle zwiększa szybsze. Używanie demona Gradle jest również dużą pomocą. Powinien być domyślnie włączony. Włączanie pamięci podręcznej Build Gradle za pomocą „-Build-Cache” może również znacznie poprawić czas kompilacji. Jeśli używasz systemu Windows, możesz znaleźć -dskipnpmlint = true potrzebne do kompilacji ze względu na różnicę końcową linii między systemem operacyjnym Aby skonfigurować SSL, plik „TheKeyStore” musi zawierać klucze SSL prywatne/publiczne wydawane dla domeny serwera CAS. Będziesz musiał użyć polecenia „keyTool” JDK, aby utworzyć klucz kluczy i certyfikat. Następujące polecenia mogą służyć jako przykład:

    keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore /etc/cas/thekeystore -ext san=dns:$REPLACE_WITH_FULL_MACHINE_NAME

W pliku /etc/hosts (w systemie Windows: C: \ Windows \ System32 \ Drivers \ Etc \ hosts) może być również konieczne dodanie następującego wpisu:

    127.0.0.1 mymachine.domain.edu

Certyfikat wyeksportowany z klucza musi być również zaimportowany do globalnej magazynu kluczy platformy 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

gdzie java_home jest tam, gdzie masz zainstalowany JDK (tj./biblioteka/java/javavirtualmachines/jdk [wersja] .jdk/content/home). Wykonaj następujące polecenia, aby wdrożyć:

    cd webapp/cas-server-webapp-tomcat
    ../../gradlew build bootRun --parallel --offline --configure-on-demand --build-cache --stacktrace

Domyślnie CAS będzie dostępny na [httpsmymachinedoainedu8443cas] (https://href.li/?https://mymachine.domain.edu:8443/cas) `

działanie w Docker

W przypadku Dockera Image Docker znajduje się w [Docker Hub] (https://href.li/?https://hub.docker.com/r/apereo/cas/). Uruchom następujące polecenie, aby ściągnąć obraz Dockera:

    docker pull apereo/cas:v[A.B.C]

gdzie [A.B.C] reprezentuje znacznik obrazu, który jest odwzorowany na wersję serwera CAS.

 Polski