我們在之前的博文中講解了CAS 4.0 Server的搭建過程,這篇博文我們來說了CAS5.3 Server的搭建過程,為什么要說一下CAS5.3的搭建過程呢,因為從cas4.2以上的代碼做了一些框架的優化,4.2以下的版本的很多配置都是寫在xml文件中。4.2以上統一提取到了cas.properties或者application.properties文件中;所以在去掉https的時候 方式也有所變化。
一、下載CAS5.3
CAS5.3 Server我們下載cas-overlay-template版本
下載地址:https://github.com/apereo/cas-overlay-template
打開網址,點擊左上角的Branch master可以選擇要下載的版本,這里我們下載最新版。
二、編譯CAS5.3
由於cas4.0以上就不再提供release版本,所以需要我們自己編譯;我們將下載下來的壓縮包放到某個目錄下面,通過cmd進入該目錄,依據官方文檔上的編譯方法,我們編譯,如下圖:
在cmd,運行”build.cmd run”,編譯文件,編譯時間會比較上,編譯完成以后,會在所在目錄生成一個target文件夾,如下圖:
進入target文件夾,可以看到一個擴展名為.war的文件,如下圖:
三、CAS5.3的安裝部署
把步驟二生成的.war文件拷貝到webapps目錄下面,啟動tomcat,會自動解壓縮.解壓縮完成以后,通過瀏覽器http://192.168.1.121:8080/cas/login,如下圖:
看到上圖表示安裝成功。
四、去除HTTPS
(1)打開WEB-INF/classess/application.properties,在最下面添加如下代碼:
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
還需要如下地方:
添加:server.ssl.enabled=false
注釋掉:
#server.ssl.key-store=file:/etc/cas/thekeystore
#server.ssl.key-store-password=changeit
#server.ssl.key-password=changeit
添加完成以后,如下圖:
(2)、打開WEB-INF/classess/services/HTTPSandIMAPS-10000001.json,如下圖:
修改為如下圖:
如果不加上圖的proxyPolicy節點,總是報一下錯誤
疑問:誰要知道原因的話,告訴我一下
至此CAS Server5.3配置完成。
五、CAS 5.3測試
(1)、首先通過瀏覽器訪問http://192.168.1.121:8080/cas/login,輸入賬號、密碼(casuser/Mellon);如下圖:
(2)、啟動Cas Net Client,如下圖:
(3)、點擊左上角的”Authenticated Users Only”,跳轉到認證中心,在認證中心輸入賬號與密碼,點擊登錄,登錄成功,調整到Client頁面,如下圖:
(4)、點擊左上角的”Home”,返回到主頁面,顯示認證信息,如下圖:
至此Cas Server5.3搭建完畢。
六、大家過程中碰到的問題
啟動客戶端,跳轉到認證中心,登錄成功以后,在客戶端驗證時,總是返回”INVALID_PROXY_CALLBACK”,所提供的代理回調網址不能提供認證,如下圖:
搜索了好久才找到了解決方法,解決方法是修改WEB-INF/classes/services/HTTPSandIMAPS-10000001.json,添加proxyPolicy節點,如下圖:
參考資料
1、https://stackoverflow.com/questions/34119307/the-supplied-service-localhost-is-not-authorized-to-use-cas-proxy-authentication
2、https://blog.csdn.net/zzq900503/article/details/54910609
3、https://www.cnblogs.com/xiaojf/p/6617693.html
4、https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#global-sso-behavior