OpenET系列之一:CAS安装与配置


一、准备工作

CAS的Github:https://github.com/apereo
CAS官方网站:https://apereo.github.io/cas/5.2.x/
服务器信息:Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)
JDK版本:1.8.0_141
Tomcat版本:Tomcat8

二、CAS安装

准备好服务器环境后,从GitHub上下载cas-gradle-overlay,目前使用的是CAS-5.0.6版本,所以本文也以该版本为例进行说明。各个版本的CAS在功能上略有不同,大体的部署步骤基本相似,推荐使用5以上的稳定版本。本篇文章不涉及到对CAS的源码进行修改,采用Gradle-overlay的方式进行部署,启动Tomcat后即可直接使用。

进入下载好的CAS目录下,构建CAS

sudo ./gradlew clean build
该命令会从网络下载必要的组件,第一次时间较长,往后就会快很多。

{CAS-dir}/cas/build/libs/cas.war

即为构建好的war包,将该文件复制到

{Tomcat-dir}/webapps/

目录下,重启Tomcat,即可通过浏览器访问

localhost:8080/cas

如果将war包重命名为ROOT.war,则可以直接通过

localhost:8008

访问
注:{CAS-dir}即为下载的CAS目录,{Tomcat-dir}即为Tomcat的安装目录

三、https与数据库连接配置

在{Tomcat-dir}/目录下

sudo vim server.xml

将Tomcat配置上自己的https证书

在{CAS-dir}/目录下

sudo vim cas/build.gradle

dependencies {
compile “org.apereo.cas:cas-server-webapp:${project.’cas.version’}@war”
compile “org.apereo.cas:cas-server-support-jdbc:${project.’cas.version’}”
}

加入jdbc依赖。注意,该依赖包括了大部分数据库的driver,但是没有oracle数据库的,如果需要使用oracle数据库,需要单独下载驱动后放置在

{Tomcat-dir}/webapps/cas/WEB-INF/lib/

目录下

sudo vim {Tomcat-dir}/webapps/ROOT/WEB-INF/classes/application.properties

参考 https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#query-database-authentication
进行配置,包括数据库链接,用户名密码等等。
比较重要的属性有

cas.authn.jdbc.query[0].sql=SELECT 密码字段 FROM table WHERE 用户名字段=?
cas.authn.jdbc.query[0].healthQuery= cas.authn.jdbc.query[0].url=
cas.authn.jdbc.query[0].dialect= cas.authn.jdbc.query[0].user=
cas.authn.jdbc.query[0].password= cas.authn.jdbc.query[0].driverClass=

配置好后,注释掉最后一行

cas.authn.accept.users=casuser::Mellon

重启Tomcat,重新访问即可通过数据库内的用户名密码登录。

四、Service Management配置

我们采用Service Management管理需要通过CAS登录的应用服务,并且使用json方式存储这些服务的信息。
从GitHub上下载cas-management-overlay,在{CAS-Management}目录下执行

sudo vim pom.xml

添加依赖

<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-json-service-registry</artifactId>
<version>${cas.version}</version>
</dependency>

保存后执行

sudo ./build.sh run
生成的.war文件位于

{CAS-Management}/target

在{CAS-dir}/目录下

sudo vim cas/build.gradle
添加依赖

compile “org.apereo.cas:cas-server-support-json-service-registry:${project.‘cas.version’}”

将新生成的两个.war文件放入{Tomcat}/webapps目录下,通过

localhost:8080/cas-management

访问应用管理。其配置文件位于

/etc/cas/

目录下。