Apereo CAS 5.3 项目源码地址:https://github.com/apereo
CAS 系列详解:https://blog.csdn.net/makyan/column/info/36060
在这里把zip文件下载下来:我下载的版本是5.3.9)
https://github.com/apereo/cas-overlay-template
解压zip,命令行进去,执行mvn clean package
结束之后会出现 target 文件夹,里面有war包啥的,把war包解压,比如我们把解压后的文件夹命名为 cas_war 吧,后文提到 cas_war 就代表是这个文件夹
注意: 本机先安装好jdk,并配置好环境变量
#linux
sudo keytool -genkeypair -alias "futurecloud" -keyalg "RSA" -keystore "/etc/cas/futurecloud.keystore"
#windows
keytool -genkeypair -alias "futurecloud" -keyalg "RSA" -keystore "E:\mycas\futurecloud.keystore"
按照以下输入:
密钥库口令: 123456(这个密码非常重要)
名字与姓氏: www.futurecloud.com(域名很重要,建议自己编个域名,在host文件里写好映射)
组织单位名称: futurecloud(随便填)
组织名称: futurecloud(随便填)
城市: beijing(随便填)
省市自治区: hebei(随便填)
国家地区代码: zh(随便填)
现在E:\mycas\futurecloud.keystore这个文件生成了
#linux
sudo keytool -export -file /etc/cas/futurecloud.crt -keystore /etc/cas/futurecloud.keystore -alias futurecloud
#windows
keytool -export -file E:\mycas\futurecloud.crt -keystore E:\mycas\futurecloud.keystore -alias futurecloud
用刚刚的futurecloud.keystore文件生成了futurecloud.crt文件
注意:这里输入的是上面设置的密码:123456
#linux
sudo keytool -import -keystore /usr/java/jdk1.8.0_91/jre/lib/security/cacerts -file /etc/cas/futurecloud.crt -alias futurecloud
#windows
keytool -import -file E:\mycas\futurecloud.crt -alias futurecloud -keystore D:\workprograms\java\jdk1.8.0_91\jre\lib\security\cacerts -storepass changeit
注意:输入密码的时候输入changeit , java默认的
要删除也很容易:
keytool -delete -alias futurecloud -keystore D:\workprograms\java\jdk1.8.0_91\jre\lib\security\cacerts
修改tomcat的配置文件server.xml
删掉:
添加:
把生成的crt文件导进去了。
把 cas_war 放到tomcat的webapp下面改名为cas,启动tomcat,浏览器访问
https://www.futurecloud.com:8443/cas/login,
如果提示签名不正确之类的就点击高级/详细信息,继续访问。
cas-overlay项目的配置文件bootstrap.properties中有默认的登录用户名密码
给cas单独弄个tomcat,并配置ssl访问,我本地开发复制了一份tomcat9,形成https的tomcat9-https,其他项目采用端口非8443的tomcat9。
用IDEA 引入Apereo CAS5.2.3 Server端的项目cas-overlay
cas-overlay 项目中的 pom.xml 配置:
在插件maven-war-plugin配置了overlay,maven的overlay为我们重写项目中的接口、配置文件等做好了准备,即我们可以重写一个和原项目war包中的接口,或者添加原项目中的配置文件内容,然后通过maven打包,将我们新增的接口或配置文件打包进去,这样保持了原项目的无侵入性。
如我们可以改变 原项目 cas-overlay中默认的登录名/密码为:yangxj/yangxj。
src
└─main
└─java
└─resources
将java文件夹标记为Sources Root,resources标记为Resources Root。
放到resources资源包里面。
修改application.properties这个文件。
修改SSL的keystore存在的位置:
#修改ssl证书
server.ssl.key-store=E:/mycas/futurecloud.keystore
server.ssl.key-store-password=changeit #证书导入到jdk中的密码
server.ssl.key-password=changeit #证书导入到jdk中的密码
将登录名/密码,修改为:yangxj/yangxj
cas.authn.accept.users=yangxj::yangxj
修改log4j2.xml 中的日志存放目录
E:\workspase\logs\cas
如下所示:
浏览器访问:https://www.futurecloud.com:8443/cas/login
使用账户 yangxj/yangxj登陆成功。