一直想把公司運營的項目的各個子項的認證及受權統一到Cas上,從有想法到如今快一年的時間了。如今才正式着手,有興趣的朋友一塊兒交流學習一下。具體項目的細節不便透露,整合的大致思路爲:一、開發部署Cas服務器端功能,二、開發Cas客戶端基本功能框架、三、將Cas客戶端框架打jar提供子項目使用,四、Docker正式環境部署Cas服務器,該系列博客中僅涉及一、2部份內容。git
新手上路github
1、Github上下載Cas服務器項目服務器
下載地址:https://github.com/apereo/cas-overlay-template,經過Branch下拉到5.3下載,本人使用5.3 進行開發部署。解壓後用IDEA打開,以下圖目錄結構:app
說明:本地須要安裝配置Maven,須要等待相關資源庫的下載 框架
若是出現類型上圖飄紅的狀況,直接刪除。工具
2、編譯並運行學習
經過Maven進行打包(也可在命令行進行打包操做),能夠看到多出target目錄,打包出的資源都在此處。測試
在IDEA的Terminal窗口中執行build run(cmd命令行相同),通過漫長的等待會看到以下信息:ui
並在後面跟着一串異常信息,而後運行進程終結........spa
經過觀察異常信息能夠看出,Cas使用SSL啓動並監聽8443端口,可是卻找不到《thekeystore》文件。thekeystore是SSL密鑰文件,所以要爲Cas服務器創建一個屬於本身的密鑰文件。如何創建證書網上有不少教程,但本人使用 KeyStore Explorer 可視化工具進行密鑰建立,要下載該工具可訪問:https://download.csdn.net/download/popo_popo/10750816。
3、建立密鑰,再次編譯並運行
而後點 「OK」
保持原域名不變
密碼:changeit
通過以上操做,已經創建了一個密鑰。密鑰要存儲在什麼地方,才能被Cas服務器引用到?
在IDEA的項目目錄中建立src/main/resources目錄,並把resources做爲資源目錄,以下圖:
以後把上面建立的SSL證書保持到resources目錄並命名爲thekeystore
以後從target>cas>WEB-INF>classes下複製application.properties到src>main>resources目錄下
並修改複製過來的配置文件中的server.ssl.key-store項值爲classpath:thekeystore
以上操做完成後,再次執行build run,當你看到READY的時候,天空靚了,心情爽了😂
4、測試(https不是http)
默認帳號casuser,密碼Mellon