日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CAS5.2x单点登录(一)——搭建cas服务器

發布時間:2024/9/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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中,就需要:

??????

  • 使用第一個命令:keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore d:/thekeystore會出現如圖界面,這時候會在d盤生成thekeystore文件。
  • 繼續下一個命令:keytool -export -file d:/cas.crt -keystore d:/thekeystore -alias cas,這時候會生出一個交cas.crt的證書。
  • 最后將證書導入到jre中: keytool -import -file d:/cas.crt -alias cas -keystore "C:\Program Files\Java\jre1.8.0_171\lib\security\cacerts" -storepass changeit,記住要加上jdk的默認密碼,也就是-storepass changeit,這時候會出現下圖所示,
  • 這個過程千萬要注意你的路徑是否存在空格,這個將導致問題的出現。到這里就完成了證書的生成了,現在就可以繼續下一步了。
  • 記住證書生成后記得要修改host文件,因為我們是自己生成的證書。修改host文件其實就是將本地的ip對應到你剛才輸入的域名,也就是test.test.com, 修改C:\Windows\System32\drivers\etc\hosts ,添加 127.0.0.1???? test.test.com
  • 下載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將

    <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /> 改成下面的 <Connectorprotocol="org.apache.coyote.http11.Http11NioProtocol"port="8080" maxThreads="200"scheme="https" secure="true" SSLEnabled="true"keystoreFile="d:\thekeystore" keystorePass="dsideal"clientAuth="false" sslProtocol="TLS"/>

    訪問:? https://localhost:8080

    ,

    這時候重新啟動tomcat,然后繼續按剛才的去訪問,發現找不到,因為我們之前使用的是http,現在換成https了,你只要加入https就可以出現這個畫面:
    ,這時候我們明顯發現那個no-security的提醒已經沒有了,cas要求是以域名來訪問的(之后整合客戶端的時候會講到)。
    剩下的我們就是登錄進去,默認的用戶名和密碼是casuser:Mellon,登錄進去就是這個頁面。
    好了,今天的就到這兒把,下次繼續將如何使用動態的數據庫以及自定義登錄驗證還有restful請求都寫一下

    總結

    以上是生活随笔為你收集整理的CAS5.2x单点登录(一)——搭建cas服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。