dihin

          cas實現sso注意的2個問題

          弄了一下午的cas安裝終于成功了,,現在將步驟敘述一下
          下載
          ????????
          cas-server-3.0.4.zip??????????????
          http://www.ja-sig.org/downloads/cas/cas-server-3.0.4.zip


          cas-client-2.0.11.zip? http://www.ja-sig.org/downloads/cas-clients/cas-client-2.0.11.zip

          環境為 winxp? tomcat5.5.17? jdk1.5.0_05
          1. 生成服務端證書
          keytool -genkey -alias casserver -keyalg RSA -keystore tomcat.jks
          CN:localhost
          其他的隨便??
          這里要注意姓名必須是服務器的域名 由于我是在本機所以是localhost
          如果不這樣寫就會報如下異常:
          java.io.IOException: HTTPS hostname wrong:? should be <localhost>

          這個異常出現在創建證書的第一個問題 姓名。其實這個“姓名”應該是域名。比如說localhost或是blogjava.net之類的。輸成了姓名,和真正運行的時候域名不符,就會出錯。瀏覽器無所謂,彈出一個對話框,用戶按一下就行了。但http client就直接拋出了異常。--google出來的

          2. 導出證書
          keytool -export -file cas.cer -alias?tomcat -keystore tomcat.jks

          3.把導出的證書導入到jre/lib/security的cacerts中
          這里又有一點要注意的?? 可能由于我的jre在線升級過一次 現在的工作的jre目錄在C:\Program Files\Java\jre1.5.0_06\ 所以要把證書導入到C:\Program Files\Java\jre1.5.0_06\lib\security的cacerts中去
          我一開始就是因為 導入到了%JAVA_HOME%的jre中 結果弄了半天都不成功報異常如下:
          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

          4.配置tomcat使用ssl
          <Connector port="8443" maxHttpHeaderSize="8192"
          ?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
          ?????????????? enableLookups="false" disableUploadTimeout="true"
          ?????????????? acceptCount="100" scheme="https" secure="true"
          ?????????????? clientAuth="false"http://單向SSL
          ?????????????? keystoreFile="C:\tomcat.jks" //我生成的keystore存放在c盤
          ?????????????? sslProtocol="TLS" />

          5.
          部署CAS應用
          ?
          解壓 cas-server-3.0.4.zip, 提取 \target\cas.war 文件,將 cas.war 文件復制到 TOMCAT 的安裝路徑 webapps 下,啟動 TOMCAT ,檢查 CAS
          應用是否正常啟動。

          6.客戶端配置
          下載cas-client-2.0.11.zip

          java/lib/casclient.jar考到 你所發布的webapp的WEB-INF/lib下
          修改WEB-INF/web.xml 在里面添加過濾器
          ??? <filter>
          ??????? <filter-name>CASFilter</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://localhost:8443/cas/login</param-value>
          ??????? </init-param>
          ??????? <init-param>
          ?????????? <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
          ?????????? <param-value>https://localhost:8443/cas/proxyValidate</param-value>
          ??????? </init-param>
          ??????? <init-param>
          ????????? <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
          ????????? <param-value>localhost:8443</param-value>
          ??????? </init-param>
          ??? </filter>
          ???
          ??? <filter-mapping>
          ??????? <filter-name>CASFilter</filter-name>
          ??????? <url-pattern>/*</url-pattern>
          ??? </filter-mapping>

          把里面的localhost換成域名
          8443換成你所使用的端口

          接著連接 https://localhost:8443/app1 ?? //app1是你要實現sso的web應用
          接著頁面就會跳轉到cas的登陸頁面 就像你在第5步看到的頁面一樣
          隨便用一個用戶名登陸 只要 用戶名和密碼一樣就可以登陸
          可以在app2上重復步驟6 這樣只要在app1上登陸后 再連接app2的url就不用再次登陸了
          這就是單點登陸了。

          ?其實是一個很簡單的事情 但是過程中要注意 步驟1和3

          ?

          ?

          ?

          ?


          posted on 2006-07-24 17:50 狒狒 閱讀(4219) 評論(3)  編輯  收藏

          Feedback

          # re: cas實現sso注意的2個問題 2006-08-07 14:51 ppxiaofei

          請教:
          在Tomcat中安裝的目錄有兩個,分別是..\Java\jdk1.5.0_07和..\Java\jre1.5.0_07,樓主在第三步描述的意思是,導入的證書應該是..\Java\jre1.5.0_07\lib\security,而不是..\Java\jdk1.5.0_07\jre\lib\security中的cacerts中,是嗎?  回復  更多評論   

          # re: cas實現sso注意的2個問題 2006-08-17 19:57 向大家學習

          我的是C:\Program Files\Java\jre1.5.0_06\lib\security
          我的jdk是裝在c盤根目錄下面

          你應該導入到 ..\Java\jre1.5.0_07\lib\security中的cacerts中
          試一下吧  回復  更多評論   

          # re: cas實現sso注意的2個問題 2006-10-21 20:23 jackie

          樓主試過在不同的機器上實現SSO嗎?  回復  更多評論   



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 镇康县| 寿宁县| 筠连县| 偃师市| 旌德县| 津南区| 宿迁市| 罗江县| 砚山县| 抚松县| 庄河市| 东台市| 京山县| 郧西县| 光泽县| 怀宁县| 会昌县| 永康市| 长兴县| 长沙市| 潢川县| 社会| 平利县| 东平县| 辽阳市| 宽甸| 乡城县| 汝南县| 玛纳斯县| 玉树县| 玉山县| 石河子市| 阳谷县| 凤冈县| 句容市| 平邑县| 珠海市| 达日县| 墨玉县| 策勒县| 琼中|