一、准备工作
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
添加依赖
保存后执行
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/
目录下。