cas服务安装

前提: 安装java, 参考《java源码安装》

一、 使用tomcat+cas.war包形式安装(弃用)

  1. 解压tomcat
    tar zxf apache-tomcat-9.0.56.tar.gz
    #解压CAS War包到 tomcat 部署目录下
    unzip -q cas-server-webapp-tomcat-5.3.16.war -d apache-tomcat-9.0.56/webapps/cas
    #启动tomcat
    cd apache-tomcat-9.0.56/bin
    ./startup.sh

  2. 查看日志
    cd …
    tail -f logs/catalina.out

出现Ready后,Ctrl+C停止日志输出控制台,访问服务器IP:8080,查看tomcat是否启动成功
访问 Cas Server,服务器IP:8080/cas

casuser是用户名,Mellon是密码

此时网页提示http访问不安全,可以设置允许http访问或者直接将服务器设置为https访问
3.1. 修改允许http访问
vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json
将serviceID选项中增加http
再vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/application.properties文件
最后添加如下两行:
cas.tgc.secure=false #取消票根对应的Cookie的Secure配置,否则非https无法完成单点登录(但是能达到每个应用都需要登录的目的)
cas.serviceRegistry.initFromJson=true #使用services目录下的json配置初始化serviceRegistry

3.2 设置为https访问模式
(1) 生成证书
keytool -genkey -alias caskeystore -keypass 123456 -keyalg RSA -keystore thekeystore

输入密钥库口令:123456
您的名字与姓氏时什么:sso.anumbrella.net
之后出来国家时cn外,其他都是anumbrella
结果生成了thekeystore

(2) 导出数字证书
keytool -export -alias caskeystore -keystore thekeystore -rfc -file cas.crt
输入密钥库口令:123456
结果生成cas.crt

(3) 将数字证书导入jdk下的jre里
sudo keytool -import -alias caskeystore -keystore $JAVA_HOME/jre/lib/security/cacerts -file cas.crt -trustcacerts -storepass changeit

(4) 修改server.xml
编辑Tomcat目录Conf下的server.xml文件,
将8443的端口配置文件打开,配置如下(添加前面刚刚生成的keystore的地址和密匙):




最终访问地址:
https://192.168.1.177:8443/cas/login
https://sso.anumbrella.net:8443/cas/login

二、使用template包形式(当前采用此方案)
参考链接:https://blog.csdn.net/Anumbrella/article/details/81045885

  1. 安装maven

  2. 解压缩
    unzip cas-overlay-template-5.3.zip
    cd cas-overlay-template-5.3

  3. 在pom.xml中的标签内添加阿里源

    
        maven-ali
        http://maven.aliyun.com/nexus/content/groups/public//
        
            true
        
        
            true
            always
            fail
        
    
  1. 执行mvn clean package,生成target目录

  2. 生成src目录,复制配置文件
    cd cas-overlay-template-5.3
    mkdir -p src/main/resources/services
    cp target/cas/WEB-INF/classes/application.properties src/main/resources/
    cp target/cas/WEB-INF/classes/services/* src/main/resources/services/

  3. 配置application.properties文件,来支持http方式启动
    vim src/main/resources/application.properties
    以下三行注释:
    #server.ssl.key-store=file:/etc/cas/thekeystore
    #server.ssl.key-store-password=changeit
    #server.ssl.key-password=changeit

末尾增加
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

ticket的有效使用次数,默认为1

cas.ticket.st.numberOfUses=10

ticket的有效时间,默认1s

cas.ticket.st.timeToKillInSeconds=60

  1. 配置HTTPSandIMAPS-10000001.json文件,来支持http方式启动
    vim src/main/resources/services/HTTPSandIMAPS-10000001.json
    将"serviceId" : “^(https|imaps)/.“,一行中增加http,改为"serviceId” : "^(https|imaps|http)/.”,

  2. 修改pom.xml文件,为了支持rest认证方式
    在Additional dependencies may be placed here注释下增加

	
		org.apereo.cas
		cas-server-support-rest
		${cas.version}
	
  1. 启动程序
    ./build.sh package
    ./build.sh run

三、服务验证:

  1. 访问http://192.168.1.177:8443/cas/login
    输入默认账号密码 casuser::Mellon登录成功
  2. 访问带service参数的登录地址 http://192.168.1.177:8443/cas/login?service=http%3A%2F%2F192.168.1.191%3A8012%2Flogin
    登录成功并成功跳转到http://192.168.1.191:8012/login并携带ticket参数
    例如 http://192.168.1.191:8012/login?ticket=ST-1-7RQaVICupg1kP3kEP6aoi9GITmolocalhost
  3. 验证ticket的有效性质
    发起get请求 http://192.168.1.177:8443/cas/serviceValidate?service=http%3A%2F%2F192.168.1.191%3A8012%2Flogin&ticket=ST-23-HwvBA0DNBt86Tezfdaxji-QqgD8localhost

你可能感兴趣的:(cas)