CAS 免费的SSO解决方案
具有日志管理的多语言身份验证软件
中央身份验证服务是一种开源SSO工具,可使用OpenID,OAUTH和SAML协议提供身份验证和授权功能。
概述
Web应用程序正在迅速增长,企业倾向于针对多个提供服务和工具的领域。每天都有大量用户增加,数据安全和数据管理正成为企业业务的主要问题。但是,开源社区提供了许多解决这些问题的解决方案,而软件上的单个标志就是其中之一。 CAS是系统上的免费开源单个符号,它使用CAS基于票务的协议,该协议专门构建旨在提供用户身份验证和授权。该协议的体系结构基于客户端和服务器协作。 CAS服务器对用户进行身份验证,并授予对应用程序的访问。鉴于,技术上的单个标志的客户端负责检索CAS服务器授予的用户的信息。 该开源软件不仅支持其自己的CAS协议,还支持OpenID,OAuth,OpenID Connect,Rest,WSFEDERATION和SAML协议。 CAS拥有与第三方集成的完整生态系统,该系统通过使用公共/私钥对维持高信任度。 CAS主要用Java编写,并提供有关部署和开发的全面文件。有一个强大的社区支持软件上的单个标志。
特征
- OAuth V2协议
- OpenID和OpenID连接协议 *密码管理 *各种部署选项 *多因素身份验证 *多语言 *登录 /登录 *许多身份验证机制(例如JAAS,LDAP,RDBMS)
- WS-FEDERATION无源请求者协议 *易于设置 *与第三方集成 *许多授权机制(例如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,则可能会发现构建所需的``-dskipnpmlint = true由于OS之间的线路结束差 为了配置SSL,“ thekeystore”文件必须包括为您的CAS服务器域发布的SSL私钥/公共密钥。您将需要使用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
从您的密钥库中导出的证书也需要将其导入到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
在其中安装了jdk的位置(即/库/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将在https://mymachine.domain.edu:8443/cas](https://href.li/?https://mymymachine.domain.edu:84443/cas)
在Docker中跑步
对于Docker,Docker Image位于[Docker Hub](https://href.li/?https://hub.docker.com/r/apereo/cas/)。运行以下命令以拉下Docker映像:
docker pull apereo/cas:v[A.B.C]
其中[a.b.c]
表示映射到CAS服务器版本的图像标签。