安裝 JDK + Tomcat 6.0.14 , HTTP端口8080 , HTTPS端口8443
JAVA_HOME = D:\Java\jdk1.6.0_04
CATALINA_HOME = D:\Java\apache-tomcat-6.0.14
安裝完畢,啟動Tomcat ,在瀏覽器上 測試 http://Linly:8080/

出現上述界面,表明系統STEP1成功搭建。
STEP 2,使用Java Keytool工具為系統生成HTTPS證書,并為系統注冊
(Java Keytool相關資料可參閱:Java keytool 安全證書學習筆記), 在DOS窗體運行以下指令(建議編寫一個BAT批處理文件執行)
[quote]
cls
rem please set the env JAVA_HOME before run this bat file
rem delete alia tomcat if it is existed
keytool -delete -alias tomcatsso -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
keytool -delete -alias tomcatsso -storepass changeit
(注釋: 清除系統中可能存在的名字為tomcatsso 的同名證書)
rem list all alias in the cacerts
keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
(注釋: 列出系統證書倉庫中存在證書名稱列表)
rem generator a key
keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=linly" -storepass changeit
(注釋:指定使用RSA算法,生成別名為tomcatsso的證書,存貯口令為changeit,證書的DN為"cn=linly" ,這個DN必須同當前主機完整名稱一致哦,切記!!!)rem export the key
keytool -export -alias tomcatsso -file %java_home%/jre/lib/security/tomcatsso.crt -storepass changeit
(注釋: 從keystore中導出別名為tomcatsso的證書,生成文件tomcatsso.crt)rem import into trust cacerts
keytool -import -alias tomcatsso -file %java_home%/jre/lib/security/tomcatsso.crt -keystore %java_home%/jre/lib/security/cacerts -storepass changeit
(注釋:將tomcatsso.crt導入jre的可信任證書倉庫。注意,安裝JDK是有兩個jre目錄,一個在jdk底下,一個是獨立的jre,這里的目錄必須同Tomcat使用的jre目錄一致,否則后面Tomcat的HTTPS通訊就找不到證書了)
rem list all alias in the cacerts
keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
(注釋:列出jre可信任證書倉庫中證書名單,驗證先前的導入是否成功,如果導入成功,應該在列表中能找到tomcatsso這個別名,如下圖)[/quote]

同時,在D:\Java\jdk1.6.0_04\jre\lib\security目錄下能找到“tomcatsso.crt”這個文件;在C:\Documents and Settings\Linly目錄下能找到“.keystore”文件。
滿足上述條件則STEP2部署完成。
STEP 3,配置Tomcat的HTTPS服務
編輯D:\Java\apache-tomcat-6.0.14\conf下的server.xml文件,在connector的配置位置添加以下的配置:
[quote]<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:/Documents and Settings/new/.keystore" keystorePass="changeit"
truststoreFile="D:/Java/jdk1.6.0_04/jre/lib/security/cacerts"
clientAuth="false" sslProtocol="TLS"/>[/quote]
啟動Tomcat,訪問https://linly:8443/,出現以下界面說明HTTPS配置生效:

STEP 4,為HelloWorldExample程序配置CAS過濾器
訪問http://linly:8080/examples/servlets/servlet/HelloWorldExample,出現以下界面說明應用正常啟動:

編輯D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF下的web.xml文件,添加如下信息:
[quote]<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://Linly:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://Linly:8443/cas/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>Linly:8080</param-value>
</init-param>
</filter>
[/quote]
[quote]
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
</filter-mapping>
[/quote]
拷貝casclient.jar文件到目錄D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF\lib下。
由于我們使用的是Tomcat6.0.14,因此,還要拷貝commons-logging-1.0.4.jar到該目錄下。
STEP 5,部署JA-SIG(CAS)服務器
拷貝cas.war到D:\Java\apache-tomcat-6.0.14\webapps目錄下。啟動Tomcat,訪問網址http://linly:8080/cas/index.jsp,出現以下畫面:

輸入用戶名/密碼 :linly/linly(任意兩個相同的字竄),點擊“登錄”,出現以下畫面:

表示CAS服務器配置運行成功。
STEP 6,測試JA-SIG(CAS)部署結果
啟動Tomcat。
測試使用瀏覽器登陸以下網址:http://linly:8080/examples/servlets/servlet/HelloWorldExample,頁面將彈出以下認證框,點擊“確定”

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

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

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