CAS5.2x单点登录(一)——搭建cas服务器
系列文章列表:
https://blog.csdn.net/u013825231/article/category/7517313
?
單點登錄的介紹
單點登錄(Single Sign On ,簡稱SSO)是目前比較流行的服務于企業業務整合的解決方案之一,SSO 使得在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。
CAS(Central Authentication Service)是 Yale大學發起的一個企業級的、開源的項目,旨在為 Web 應用系統提供一種可靠的單點登錄解決方法。
在5.0版本之前,cas使用的是ssh的那套框架來搞的,網上關于使用xml來配置的資料也是很多。前端也是使用jsp來弄的。所有的東西(連接數據庫,自定義加密等等)一系列的東西都是通過寫代碼,然后在deployerConfigContext.xml里面進行bean的注入,這些我就不講了,我主要講的就圍繞著5.0版本之后來講吧,5.0版本之后的最大改變就是引入了現在比較流行的微服務架構也就是spring boot這套,他將之前使用bean注入的換成了spring boot的配置來弄了,以及增加了容器(docker)。網上對于5.0后的內容也是少之又少,因為最近公司讓我做這塊,然后研究了一陣子,將自己遇到的坑以及怎么一步步的完成設計的過程分享給大家。
工具
jdk1.8u171
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat 8.5 (注意要使用tomcat8版本以上的)
https://tomcat.apache.org/download-80.cgi#8.5.31
cas-overlay-template-5.2.1
為什么要使用cas-overlay呢?剛開始我也是不知道找哪個,下載了主版本,但是發現他是用gradle編譯的,習慣maven編譯的我想想是有多痛苦,但是沒辦法就裝了個ide,本以為裝了后就能編譯,后來發現要編譯這么多模塊,但是好多模塊是我們不需要的,還有我們下載下來的每個模塊都是有源碼的。難道我們要改源碼來完成cas的設計嗎。還好看了cas的官方說明文檔,這里可以自己去github上面看。發現官方提供了一個無侵入式的一套來設計cas,所謂的無侵入式就是你直接打成war包,放到tomcat里面運行,你能運行,你也可以自己建立相應的文件,cas這套他能將你的覆蓋掉他原有的(名字路徑相同)。通過這樣來達到改變代碼以及其他東西來完成cas服務器的搭建。好了,廢話不多說。先來搭建一波簡單的cas服務器,也就是github下載下來的直接放到tomcat來運行的。
首先還是從生成證書開始把,因為cas是需要域名的,而我們可以通過jdk中的keytool生成證書。
??????? keytool是JDK的一個命令,所以,jdk的目錄必須在path中,就需要:
??????
下載cas-overlay
進入這個鏈接去選擇自己想下載的版本,我這邊以5.2,也就是master
https://github.com/apereo/cas-overlay-template/tree/5.2
下載好以后,打開看以后應該是這樣的目錄結構,我們可以直接在里面打開命令行(cmd)運行mvn clean package來進行編譯,因為我們這個編譯出來的是war包,等pom的jar包下載完后以及編譯成功后就會多出一個target文件夾,里面有cas的內容,我們只需要將cas.war(或者直接將cas的文件夾放到tomcat的webapp并啟動tomcat)這時候我們訪問test.test.com:8080/cas/login就能看到如下的頁面,這時候基本的就完成了,這時候就有人問那前面生成的證書也沒什么用啊,沒錯,我們現在的確是沒有用到證書,所以這上面不是有兩個提醒嗎,第一個就是因為我們使用的是http而不是https,所以我們要去配置tomcat。找到tomcat里面的conf中的server.xml將
訪問:? https://localhost:8080
,
這時候重新啟動tomcat,然后繼續按剛才的去訪問,發現找不到,因為我們之前使用的是http,現在換成https了,你只要加入https就可以出現這個畫面:
,這時候我們明顯發現那個no-security的提醒已經沒有了,cas要求是以域名來訪問的(之后整合客戶端的時候會講到)。
剩下的我們就是登錄進去,默認的用戶名和密碼是casuser:Mellon,登錄進去就是這個頁面。
好了,今天的就到這兒把,下次繼續將如何使用動態的數據庫以及自定義登錄驗證還有restful請求都寫一下
總結
以上是生活随笔為你收集整理的CAS5.2x单点登录(一)——搭建cas服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6-let和const命令
- 下一篇: BZOJ 1460 Pku2114 Bo