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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CAS的安装与配置(一)服务器端配置

發布時間:2023/12/9 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAS的安装与配置(一)服务器端配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、搭建Java Web服務器環境?

CATALINA_HOME = D:\Java\apache-tomcat-6.0.14?
安裝完畢,啟動Tomcat ,在瀏覽器上 測試 http://localhost:8080/?
?
出現上述界面,表明系統成功搭建。?

二、使用Java Keytool工具為系統生成HTTPS證書,并為系統注冊

1. ?刪除已有

C:\Program Files\Java\jdk1.6.0_10\bin>keytool -delete -alias tomcat(隨意起的別名) -keystore D:/Java/jdk1.6.0_33/jre/lib/security/cacerts -storepass changeit

2. 生成密匙庫

輸入密鑰密碼和相應參數,(注意:第一個參數CN要輸入域名sso.shipengzhi.com,其他參數就隨便了),結果是在用戶目錄中創建了名為server.keystore的密鑰文件。

C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keystore server.keystore(密鑰文件名) ? ?

在當前目錄下多出一個文件server.keystore?

3.?導出數字證書

C:\Program Files\Java\jdk1.6.0_10\bin>keytool -export -alias tomcat -keypass changeit -file server.crt -keystore server.keystore

輸入keystore密碼:changeit

輸入上一步中的密碼,結果在當前目錄生成server.crt密鑰文件。(注意:這個文件是要導入客戶端的JVM上的)?

4.將數字認證導入jre可信任區

C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -alias tomcat -file server.crt -keypass changeit -keystore?D:/Java/jdk1.6.0_33/jre/lib/security/cacerts

這里的jre地址和tomcat使用的jre必須一致

輸入密碼(注意:這里的密碼不是上面設定的密碼,而是changeit),將創建cacerts文件。

?

5.?查看可信證書列表(檢查證書是否加入成功)

C:\Program Files\Java\jdk1.6.0_10\bin>keytool -list -keystore D:\Java\jdk1.6.0_33/jre/lib/security/cacerts

6.命令解釋(轉)

-genkey?在用戶主目錄中創建一個默認文件".keystore",還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書

-alias?產生別名

-keystore?指定密鑰庫的名稱(產生的各類信息將不在.keystore文件中

-keyalg?指定密鑰的算法

-validity?指定創建的證書有效期多少天

-keysize?指定密鑰長度

-storepass?指定密鑰庫的密碼

-keypass?指定別名條目的密碼

-dname?指定證書擁有者信息例如:?"CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"

-list?顯示密鑰庫中的證書信息?keytool -list -v -keystore?別名?-storepass ....

-v?顯示密鑰庫中的證書詳細信息

-export?將別名指定的證書導出到文件?keytool -export -alias?別名?-file?文件名.crt

-file?參數指定導出到文件的文件名

-delete?刪除密鑰庫中某條目?keytool -delete -alias?別名?-keystore sage

-keypasswd?修改密鑰庫中指定條目口令?keytool -keypasswd -alias?別名?-keypass .... -new .... -storepass ... -keystore?別名

-import?將已簽名數字證書導入密鑰庫?keytool -import -alias?別名?-keystore?證書名-file?文件名(可以加.crt?后綴)

?

以上是服務器端導入證書,放在tomcat用的jre下的證書庫中

?

三、配置Tomcat的HTTPS服務?

在tomcat的server.xml中添加配置信息?

<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:/Users/shipengzhi/server.keystore" keystorePass="changeit"
truststoreFile="D:/Java/jdk1.6.0_33/jre/lib/security/cacerts"
clientAuth="false" sslProtocol="TLS"/>

keystorePass="changeit"參數,即為上面幾步中涉及到的密 碼,keystoreFile=".keystorePath",.keystorePath即為在第一步中生成的文件.keystore的全路徑,如:?C:/Users/shipengzhi/server.keystore。

?

綁定hosts
10.1.164.118 sso.shipengzhi.com

啟動Tomcat,訪問https://localhost:8443/,出現以下界面說明HTTPS配置生效:?

?

四、構建CAS服務器和過濾器

1.部署JA-SIG(CAS)服務器?

cas官方網站

http://www.jasig.org/cas

下載最新的服務端?CAS Server 3.5.0 Final

解壓后將modules下面的cas-server-webapp-3.3.3.war改名為cas.war部署到web服務器,作為單點登錄的服務器。

啟動Tomcat,訪問網址http://localhost:8080/cas/index.jsp或https://localhost:8443,出現以下畫面:?
?
輸入用戶名/密碼 :linly/linly(任意兩個相同的字竄),點擊“登錄”,出現以下畫面:?
?
表示CAS服務器配置運行成功。?

2.為HelloWorldExample程序配置CAS過濾器?

訪問http://shipengzhi:8080/examples/servlets/servlet/HelloWorldExample,出現以下界面說明應用正常啟動:?
?
編輯D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF下的web.xml文件,添加如下信息:?

<!-- ======================== 單點登錄開始 ======================== -->
<!-- 用于單點退出,該過濾器用于實現單點登出功能,可選配置-->
<listener>
  <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

<!-- 該過濾器用于實現單點登出功能,可選配置。 -->
<filter>
  <filter-name>CAS Single Sign Out Filter</filter-name>
  <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>CAS Single Sign Out Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 該過濾器負責用戶的認證工作,必須啟用它 -->
<filter>
  <filter-name>CASFilter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>https://sso.shipengzhi.com:8443/cas/login</param-value>
    <!--這里的server是服務端的IP-->
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>http://localhost:8080</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CASFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 該過濾器負責對Ticket的校驗工作,必須啟用它 -->
<filter>
  <filter-name>CAS Validation Filter</filter-name>
  <filter-class>
    org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
  <init-param>
    <param-name>casServerUrlPrefix</param-name>
    <param-value>https://sso.shipengzhi.com:8443/cas</param-value>
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>http://localhost:8080</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CAS Validation Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ======================== 單點登錄結束 ======================== -->


拷貝cas-client-core-3.2.1.jar,commons-logging-1.1.jar文件到目錄D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF\lib下。?

啟動Tomcat。?
測試使用瀏覽器登陸以下網址:http://shipengzhi:8080/examples/servlets/servlet/HelloWorldExample,頁面將彈出以下認證框,點擊“確定”?
?

頁面將重定向到JA-SIG的SSO登錄認證頁面?

?

輸入用戶名=密碼,如:linly/linly,則通過驗證,進入應用的入口界面,如下:?
?

細心的用戶將發現,此時的URL不再是:?
http://shipengzhi:8080/examples/servlets/servlet/HelloWorldExample,?
URL的尾端帶上了一個ticket參數:?
http://linly:8080/examples/servlets/servlet/HelloWorldExample?ticket=ST-2-qTcfDrdFb0bWndWgaqZD?
到此,JA-SIG(CAS)服務器的初步SSO部署宣告成功。?

?異常Q&A

1.驗證ticket時,拋出異常

avax.servlet.ServletException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

 解決辦法:

 tomact使用的jvm的jre必須和數字認證導入jre可信任區時的jre一樣,拋出這個異常就是因為不一樣導致的。

2.如何將CAS和應用分布部署在不同的機器?

機器A: 部署CAS服務?
機器B: 部署OA應用?
機器C: 用戶瀏覽器端?

1.由機器A上生成.keystore的證書文件,證書頒發者是機器A的完全域名?
2.機器A上用于部署CAS的Tomcat的server.xml文件中定義HTTPS的配置,指向.keystore文件證書?

3.從.keystore中導出的憑證文件要copy到機器B上,并導入機器B的JRE環境的證書庫中?
4.機器B上部署OA的Tomcat必須指定運行在導入憑證JRE環境上,而不是JDK,這點常有人搞錯。?

總結

以上是生活随笔為你收集整理的CAS的安装与配置(一)服务器端配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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