cas服務器搭建


  一、CAS是Central Authentication Service的縮寫,中央認證服務,一種獨立開放指令協議。CAS 是 Yale 大學發起的一個開源項目,旨在為 Web 應用系統提供一種可靠的單點登錄方法,CAS 在 2004 年 12 月正式成為 JA-SIG 的一個項目。

    

  二、cas中央認證服務器,我們在使用的時候用來作為單點登錄的方式,這里主要是搭建中央認證服務器。cas存在3中訪問協議,https、http、imaps。但是cas默認使用的是https的訪問方式。http需要做一些配置,這里主要是說明cas搭建需要涉及的問題。接下來會說明如果修改。

  三、cas項目下載地址:https://github.com/apereo/cas-overlay-template/tree/master(這個是主線的)

    我們這里使用的是5.3版本:https://github.com/apereo/cas-overlay-template/tree/5.3(maven版)

  四、使用idea打開項目

  1)默認會下載cas-server-webapp-tomcat-5.3.8.war的依賴

  

  2)war中的內容為

  

  五、修改參數打cas.war

  1)修改賬戶信息:application.properties

  默認:

  

  根據自己需要進行修改,我這里修改為admin::admin

  2)如果我們要支持http的客戶端,需要設置一下內容

  http:

  a、HTTPSandIMAPS-10000001.json

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000
}

  在serviceId中加入http

  b、在application.properties加入

#http時使用
cas.tgc.secure=false
#開啟JSON文件的識別
cas.serviceRegistry.initFromJson=true

  3)maven打包

  六、運行

  七、https協議

  1)這里使用的是jdk自帶的keytool證書來實現驗證,實際中可以自己申請證書。這里主要是為了測試,使用linux的環境測試

  2)默認還是要加入設置

#開啟json數據識別
cas.serviceRegistry.initFromJson=true

  如果需要支持http:

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000
}

  在serviceId中加入http

  3)生成證書(這里用的是相對路徑,cas.keystore,密碼自己set)

keytool -genkey -alias cas -keyalg RSA -keystore cas.keystore -storepass changeit

  

  備注:如果域名不一樣會導致無限重定向

  4)導出證書

keytool -export -file cas.crt -alias cas -keystore cas.keystore -storepass changeit

   

  

  4)導入jdk(默認是不需要導入的,只是在進一步驗證的時候需要導入)

keytool -import -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -file cas.crt -alias cas -storepass changeit

  

  5)刪除證書(cas為設置的別名,這里不做刪除)

keytool -delete -alias cas -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -storepass changeit

  

  6)配置tomcat的server.xml  

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/root/https/cas.keystore"  
               keystorePass="changeit"/>

   注釋8080端口

<!-- <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" /> -->

  7)啟動項目測試

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM