溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

認證服務器cas-server搭建(源碼部署)

發(fā)布時間:2020-07-24 12:18:13 來源:網絡 閱讀:37772 作者:Beyond_奈何 欄目:建站服務器

CAS項目作者是Apereo,一款開源免費的認證服務器,源碼已在github上托管,目前最新版本是5.2.0,github上cas項目有的版本有對應的Installation Requirements,可以查看cas項目與jdk版本關系:
認證服務器cas-server搭建(源碼部署)
認證服務器cas-server搭建(源碼部署)

我現在電腦環(huán)境:jdk1.7.0_75,gradle4.3.1,所以下載了cas4.2.1版本(地址:https://github.com/apereo/cas/releases/tag/v4.2.1) 下面就開始搭建

1、源碼生成cas.war

解壓之后,從cmd進入\cas-4.2.1\目錄,執(zhí)行命令:
gradle build
(開始下載的cas5.2.0當時最新版,執(zhí)行命令后報錯:Could not download gradle-lint-plugin.jar (com.netflix.nebula:gradle-lint-plugin:8.3.1),可能是因為jdk版本不對的原因,公司網絡不支持下載jdk1.8.,沒有深究,直接換成cas4.2.1)
執(zhí)行命令后報錯:

Could not resolve nl.eveoh:gradle-aspectj:1.6

認證服務器cas-server搭建(源碼部署)

這個jar包下載不了,(cmd進入\cas-4.2.1\cas-server-webapp目錄,執(zhí)行命令:gradle build,同樣的錯誤),不是因為網絡不好,壓根倉庫里就沒有這個包(包括中央倉庫,ali云),項目源碼中寫的倉庫地址也沒有這個路徑,搜索到有一個開源項目也引用了這個jar包,倉庫地址配的是:

https://maven.eveoh.nl/content/repositories/releases

一樣是沒有這個路徑,經過一番查找,這個jar包在github上是一個開源的項目,可以下載下來自行打包,源碼地址:

https://github.com/eveoh/gradle-aspectj

現在最新版本是gradle-aspectj-2.1,從branch:master那里選擇tag標簽,選擇1.6版本,然后下載源碼,本地解壓后,從cmd進入源碼根目錄執(zhí)行命令打包:gradle build,在build/libs下會生成想要的jar包:
認證服務器cas-server搭建(源碼部署)

然后把生成的這個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

成功打入,第一次構建的時候在cas根目錄,會構建所有的項目,執(zhí)行時間太長,這次我直接跳到cas文件夾中cas-server-webapp子項目路徑下執(zhí)行gradle build,會快一點
認證服務器cas-server搭建(源碼部署)
認證服務器cas-server搭建(源碼部署)
war包生成在cas-server-webapp\build\libs文件夾下,到此cas-server的war包生成成功。

2、jdk生成證書(如果配置了java環(huán)境變量可以在任意目錄,如果沒有需要在jdk下的bin目錄)

在這里也走了一些彎路,可能有人跟我一樣有疑問,多說一點,就是生成證書是什么后綴的?好多寫keytool生成證書的步驟的,分三種,一種是xxx.keystore格式的,一種是xxx.jks的,還有一種沒有后綴,就一個名字xxx,除了jks那種,這兩種都試過了,不知道哪里操作有問題,到最后不是tomcat啟動不了(提示keystore format錯誤)就是啟動成功瀏覽器訪問不了(證書不被信任瀏覽器拒絕訪問,火狐和IE都試過),最后選擇jks這種可以成功運行。
cmd窗口執(zhí)行命令:

keytool -genkey -alias cascer -keyalg RSA -keypass 123456 -keystore cascer.jks -storepass 123456

認證服務器cas-server搭建(源碼部署)
姓名形式那里填寫域名,其他的可以隨便填
在當前目錄生成證書名字:cascer.jks
導出cer證書:

keytool -export -file cascer.cer -alias cascer -keystore cascer.jks -storepass 123456

認證服務器cas-server搭建(源碼部署)

將cer證書導入到jdk中被信任:

keytool -import -trustcacerts -alias cascer -file cascer.cer -keystore "D:\xxx\jdk7\jre\lib\security\cacerts" -storepass 123456
需要自行修改cacerts文件路徑

3、tomcat配置及部署

首先把第一步中生成的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"(這個默認值不是nio,tomcat8默認已經是這種模式了,可改可不改)

tomcat8中沒有https,搜索port="8443"可以找到,增加了SSLHostConfig這個標簽,暫時沒有研究這個有什么好處,注釋掉這個,也按照tomcat7中的配置配。
配置完成后,啟動tomcat,瀏覽器訪問:https://localhost:8443/cas, tomcat7和tomcat8都可以訪問成功
認證服務器cas-server搭建(源碼部署)
輸入默認的用戶名:casuser,密碼:Mellon,登錄應該是成功的。
認證服務器cas-server搭建(源碼部署)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI