CAS項(xiàng)目作者是Apereo,一款開源免費(fèi)的認(rèn)證服務(wù)器,源碼已在github上托管,目前最新版本是5.2.0,github上cas項(xiàng)目有的版本有對應(yīng)的Installation Requirements,可以查看cas項(xiàng)目與jdk版本關(guān)系:
我現(xiàn)在電腦環(huán)境:jdk1.7.0_75,gradle4.3.1,所以下載了cas4.2.1版本(地址:https://github.com/apereo/cas/releases/tag/v4.2.1) 下面就開始搭建
解壓之后,從cmd進(jìn)入\cas-4.2.1\目錄,執(zhí)行命令:gradle build
(開始下載的cas5.2.0當(dāng)時最新版,執(zhí)行命令后報(bào)錯:Could not download gradle-lint-plugin.jar (com.netflix.nebula:gradle-lint-plugin:8.3.1),可能是因?yàn)閖dk版本不對的原因,公司網(wǎng)絡(luò)不支持下載jdk1.8.,沒有深究,直接換成cas4.2.1)
執(zhí)行命令后報(bào)錯:
Could not resolve nl.eveoh:gradle-aspectj:1.6
這個jar包下載不了,(cmd進(jìn)入\cas-4.2.1\cas-server-webapp目錄,執(zhí)行命令:gradle build,同樣的錯誤),不是因?yàn)榫W(wǎng)絡(luò)不好,壓根倉庫里就沒有這個包(包括中央倉庫,ali云),項(xiàng)目源碼中寫的倉庫地址也沒有這個路徑,搜索到有一個開源項(xiàng)目也引用了這個jar包,倉庫地址配的是:
https://maven.eveoh.nl/content/repositories/releases
一樣是沒有這個路徑,經(jīng)過一番查找,這個jar包在github上是一個開源的項(xiàng)目,可以下載下來自行打包,源碼地址:
https://github.com/eveoh/gradle-aspectj
現(xiàn)在最新版本是gradle-aspectj-2.1,從branch:master那里選擇tag標(biāo)簽,選擇1.6版本,然后下載源碼,本地解壓后,從cmd進(jìn)入源碼根目錄執(zhí)行命令打包:gradle build
,在build/libs下會生成想要的jar包:
然后把生成的這個jar包打到maven本地倉庫(我把jar包放到D盤下,是下面的命令,如果jar包不在D盤下,需自行修改-Dfile后面的jar路徑),命令:
mvn install:install-file -Dfile=D:\gradle-aspectj-1.6.jar -DgroupId=nl.eveoh -DartifactId=gradle-aspectj -Dversion=1.6 -Dpackaging=jar
成功打入,第一次構(gòu)建的時候在cas根目錄,會構(gòu)建所有的項(xiàng)目,執(zhí)行時間太長,這次我直接跳到cas文件夾中cas-server-webapp子項(xiàng)目路徑下執(zhí)行g(shù)radle build,會快一點(diǎn)
war包生成在cas-server-webapp\build\libs文件夾下,到此cas-server的war包生成成功。
在這里也走了一些彎路,可能有人跟我一樣有疑問,多說一點(diǎn),就是生成證書是什么后綴的?好多寫keytool生成證書的步驟的,分三種,一種是xxx.keystore格式的,一種是xxx.jks的,還有一種沒有后綴,就一個名字xxx,除了jks那種,這兩種都試過了,不知道哪里操作有問題,到最后不是tomcat啟動不了(提示keystore format錯誤)就是啟動成功瀏覽器訪問不了(證書不被信任瀏覽器拒絕訪問,火狐和IE都試過),最后選擇jks這種可以成功運(yùn)行。
cmd窗口執(zhí)行命令:
keytool -genkey -alias cascer -keyalg RSA -keypass 123456 -keystore cascer.jks -storepass 123456
姓名形式那里填寫域名,其他的可以隨便填
在當(dāng)前目錄生成證書名字:cascer.jks
導(dǎo)出cer證書:
keytool -export -file cascer.cer -alias cascer -keystore cascer.jks -storepass 123456
將cer證書導(dǎo)入到j(luò)dk中被信任:
keytool -import -trustcacerts -alias cascer -file cascer.cer -keystore "D:\xxx\jdk7\jre\lib\security\cacerts" -storepass 123456
需要自行修改cacerts文件路徑
首先把第一步中生成的cas-serverxxx.war更名為cas.war,并將war文件放到tomcat下webapps文件夾中
然后把第二步中生成的cascer.jks文件放到tomcat目錄下conf文件夾中
最后配置conf/server.xml文件
tomcat7配置:搜索到https,文件中只有一處地方有,放開注釋,添加如下屬性(如果沒有就加上,改完忘了最初是什么樣的,都加上了):
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="conf/cascer.jks"
keystorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol"(這個默認(rèn)值不是nio,tomcat8默認(rèn)已經(jīng)是這種模式了,可改可不改)
tomcat8中沒有https,搜索port="8443"可以找到,增加了SSLHostConfig這個標(biāo)簽,暫時沒有研究這個有什么好處,注釋掉這個,也按照tomcat7中的配置配。
配置完成后,啟動tomcat,瀏覽器訪問:https://localhost:8443/cas, tomcat7和tomcat8都可以訪問成功
輸入默認(rèn)的用戶名:casuser,密碼:Mellon,登錄應(yīng)該是成功的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。