统一认证服务CAS 5安装
简要介绍统一认证服务(CAS,Central Authentication Service)5.2.X的安装及配置。 CAS环境:Centos7.5+Tomcat8.5+jdk-8u181。后台用户管理采用openldap,其安装请参考相关资料。
获取 CAS
本次安装采用gradle overlay项目,减少安装编译过程,速度比较快。需要用源码请到CAS开源库下载。不喜欢使用gradle安装也可使用mvn,请到CAS WAR Overlay template下载,不过最新版本都是采用gradle安装。CAS版本为5.2.4,其他版本安装会缺少依赖,请自行测试。 在安装目录下执行如下命令下载。
git clone -b 5.2 https://github.com/apereo/cas-gradle-overlay-template.git
当前目录下生成cas-gradle-overlay-template目录,称之为安装目录。
安装步骤
配置gradle
添加所需依赖:json注册服务,REST接口,ldap接口。修改配置文件build.gradle,文件在安装目录cas-gradle-overlay-template/cas/下。dependencies添加三行。
compile "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
compile "org.apereo.cas:cas-server-support-rest:${project.'cas.version'}"
compile "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
编辑配置文件如下:
cd cas-gradle-overlay-template
vi cas/build.gradle
配置文件主要修改结果如下,其他部分略。
...
dependencies {
compile "org.apereo.cas:cas-server-webapp-tomcat:${project.'cas.version'}@war"
if (!project.hasProperty('bootiful')) {
// Other dependencies may be listed here...
} else {
println "Running CAS in Bootiful mode; all dependencies except the CAS web application are ignored."
}
compile "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
compile "org.apereo.cas:cas-server-support-rest:${project.'cas.version'}"
compile "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
}
...
生成war
制作机器要连到互联网下载相关文件。执行下面命令,若网速快,很快就可生成war。
./build.sh package
正常执行之后,在cas/build/libs/目录下生成cas.war。
配置CAS
CAS配置也可以在上一步骤之前先在安装目录(cas-gradle-overlay-template)下的etc/cas/config/目录下修改配置文件后再生成war。
上述生成war之后,把cas.war拷贝到Tomcat目录下webapps目录,重启Tomcat服务,在webapps目录下生成cas。
- 修改application.properties
在Tomcat目录下webapps/cas/WEB-INF/classes/application.properties文件,注释cas.authn.accept.users配置,此配置可用来测试还没有使用ldap管理用户前的安装是否正常。
#cas.authn.accept.users=casuser::Mellon
- 修改个性配置文件 拷贝在安装目录(cas-gradle-overlay-template)下etc/cas/config/,至操作系统centos根目录/etc/cas/config下。 修改cas.properties部分内容如下,其他部分可临时使用默认配置。
#vi /etc/cas/config/cas.properties
cas.tgc.encryption.key=bwSbnHesdfsafsdsdfsdsdssafsfsdsadsdsd2Ar4rM
##连接ldap
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].ldapUrl=ldap://10.1.0.16:389
cas.authn.ldap[0].useSsl=false
cas.authn.ldap[0].connectTimeout=5000
cas.authn.ldap[0].subtreeSearch=true
cas.authn.ldap[0].baseDn=ou=people,dc=edu,dc=cn
cas.authn.ldap[0].userFilter=uid={user}
# Bind credentials used to connect to the LDAP instance
cas.authn.ldap[0].bindDn=cn=adm,dc=edu,dc=cn
cas.authn.ldap[0].bindCredential=xxx001xxx001 #password,modi it
一般如上简单修改就可以使用ldap管理用户。记得重启Tomcat服务。
注册服务
应用要接入CAS需要注册,在Tomcat目录/webapps/cas/WEB-INF/classes/services/下增加一json配置文件。可参考HTTPSandIMAPS-10000001.json文件配置。
其他
- edu.cn是一个测试域名,请根据自己的域名自行更改。
- 没有生成证书启动时系统日记会报错,不影响使用,用下面两句可生成。
keytool -genkey -alias tomcat -keyalg RSA -keypass tomcat -storepass tomcat -keystore server.keystore -validity 36000 keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass tomcat
- 配置其他安全问题,包括此开源软件隐患,欢迎大家讨论点击讨论
- Tomcat和openldap安装和管理请先参考其他资料,有空后将另文。