<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    實踐Java
    Practice in Java
    posts - 6,  comments - 20,  trackbacks - 0
    (一) 初探CAS SSO


    相關概念:
           
            SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用于同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一。
                  
           要實現SSO,需要以下主要的功能:
      1、所有應用系統共享一個身份認證系統。
      統一的認證系統是SSO的前提之一。認證系統的主要功能是將用戶的登錄信息和用戶信息庫相比較,對用戶進行登錄認證;認證成功后,認證系統應該生成統一的認證標志(ticket),返還給用戶。另外,認證系統還應該對ticket進行效驗,判斷其有效性。
      2、所有應用系統能夠識別和提取ticket信息
      要實現SSO的功能,讓用戶只登錄一次,就必須讓應用系統能夠識別已經登錄過的用戶。應用系統應該能對ticket進行識別和提取,通過與認證系統的通訊,能自動判斷當前用戶是否登錄過,從而完成單點登錄的功能。

             cas是耶魯大學開發的一個開源項目,含義為集中認證服務(Central Authentication Service),
    目標為:當耶魯大學有新的應用系統上線時,這個應用系統只需要配置使用cas來保護它的資源受限訪問,而不需要 這個應用系統本身再編寫安全方面的代碼。
     
    SSO相關的Ticket知識 


    資源準備

        Tomcat6
        CAS Server&Client
       
    http://www.ja-sig.org/downloads/cas/cas-server-3.1.1-release.zip
       http://www.ja-sig.org/downloads/cas-clients/cas-client-java-2.1.1.zip

     開始實踐

            CAS Server 是一套基于 Java 實現的服務,該服務以一個 Java Web Application 單獨部署在與 servlet2.3 兼容的 Web 服務器上,另外,由于 Client 與 CAS Server 之間的交互采用 Https 協議,因此部署 CAS Server 的服務器還需要支持 SSL 協議。當 SSL 配置成功過后,像普通 Web 應用一樣將 CAS Server 部署在服務器上就能正常運行了,不過,在真正使用之前,還需要擴展驗證用戶的接口。 
           
    (一) 創建證書
          首先對SSL的安全協議生成一個證書. 在CMD命令下依次執行下面命令或者放在一個bat文件中,一次執行.

    keytool -delete -alias tomcat -keypass changeit  -storepass changeit
    keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -storepass changeit
    keytool -export -alias tomcat -keypass changeit  -file server.crt -storepass changeit
    keytool -delete -alias mykey -keypass changeit -storepass changeit -keystore 
    "C:/Program Files/Java/jdk1.5.0_10/jre/lib/security/cacerts"
    keytool -import -file  server.crt -keypass changeit -storepass changeit -keystore 
    "C:/Program Files/Java/jdk1.5.0_10/jre/lib/security/cacerts"

    這樣就生成了一個證書,并且導入進密鑰庫,相關證書的生成使用方法和命令的使用請使用百度 O(∩_∩)O哈哈~

            在生成證書的時候會提示輸入CN,這里必須輸入域名,如果在本地請使用機器名或者localhost,不能用IP,否則部署不成功會出現下面的異常.       
    嚴重: edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator prox
    yList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://192.168.1.111:8443/cas/proxyValidate] ticket=[ST-0-9h7Mx5HK3pfsdxRv
    MD3y] service=[http%3A%2F%2F192.168.1.222%3A8080%2Fservlets-examples%2Fservlet%2FHelloWorldExample] renew=false]]]

           這個CAS異常是從CAS Client里面拋出,是當我們不使用證書的CN去訪問域名的時候,CASClient無法信任,特別注意!!

    (二) 配置CASServer
         在Tomcat6目錄下配置支持https協議,修改 \Tomcat 6.0\conf\server.xml 文件,找到https段,如下配置

    1  <Connector protocol="org.apache.coyote.http11.Http11Protocol"
    2            port="8443" minSpareThreads="5" maxSpareThreads="75"
    3            enableLookups="true" disableUploadTimeout="true"
    4            acceptCount="100"  maxThreads="200"
    5            scheme="https" secure="true" SSLEnabled="true"
    6            keystoreFile="C:/Documents and Settings/Administrator/.keystore" keystorePass="changeit"
    7            truststoreFile="C:/Program Files/Java/jdk1.5.0_10/jre/lib/security/cacerts"
    8            clientAuth="false" sslProtocol="TLS"/>

          解壓cas-server-3.3-release.zip,并將\cas-server-3.0.5\cas-server-3.0.5\target\cas.war放到\Tomcat 6.0\webapps下
        然后啟動Tomcat6,在瀏覽器中輸入https://localhost:8443/cas 出現CASServer登錄界面,即CASServer配置成功.

    (三) 配置一個應用到CAS SSO中
        
          在應用工程中加入casclient.jar,修改web.xml,過濾器應配置在所有其他過濾器的前面

     1  <filter> 
     2         <filter-name>CASFilter</filter-name> 
     3         <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> 
     4         <init-param> 
     5             <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> 
     6             <param-value>https://soho:8443/cas/login</param-value> 
     7         </init-param> 
     8         <init-param> 
     9             <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> 
    10             <param-value>https://soho:8443/cas/proxyValidate</param-value> 
    11         </init-param>      
    12         <init-param> 
    13             <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> 
    14             <param-value>soho:8443</param-value> 
    15         </init-param> 
    16     </filter> 
    17     
    18     <filter-mapping> 
    19         <filter-name>CASFilter</filter-name> 
    20         <url-pattern>/*</url-pattern> 
    21     </filter-mapping> 


    啟動應用,輸入訪問應用的路徑會發現沒有經過CASServer的認證,不能直接訪問到,而跳到了CAS的登錄界面,登錄后才會被引導到正確的路徑.
     
    簡單的CAS SSO 初探成功,再來對他進行深入的使用!

    posted on 2009-03-10 11:55 弦驚塞外 閱讀(807) 評論(2)  編輯  收藏

    FeedBack:
    # re: Liferay Portal學習
    2009-09-07 14:07 | wacel
    請問你深入得怎么樣了?liferay與cas配置好以后,有一個portlet要加入到liferay里,怎么實現單點登陸啊?  回復  更多評論
      
    # re: Liferay Portal學習
    2011-03-10 16:39 | 12
    如果這是你copy的你就是個sb,如果是你自己寫的你就是個2  回復  更多評論
      

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


    網站導航:
     

    <2011年3月>
    272812345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(3)

    隨筆檔案

    相冊

    搜索

    •  

    積分與排名

    • 積分 - 6270
    • 排名 - 2847

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91福利视频免费| 日本黄色免费观看| 亚洲国产综合精品中文第一| 国产免费AV片无码永久免费| 国产精品免费久久| 亚洲国产韩国一区二区| 日韩一级视频免费观看| 国产乱子伦精品免费视频| 亚洲国产品综合人成综合网站| 免费一级国产生活片| 亚洲a一级免费视频| 亚洲国产精品无码第一区二区三区| 国产亚洲?V无码?V男人的天堂 | 大学生高清一级毛片免费| 中文字幕在线成人免费看| 亚洲精品福利你懂| 亚洲国产精品一区二区成人片国内| 啦啦啦中文在线观看电视剧免费版| 一级做a爰全过程免费视频毛片 | 一级毛片人与动免费观看| 亚洲福利电影在线观看| 亚洲精品视频免费观看| 国产卡一卡二卡三免费入口| a级日本高清免费看| 精品亚洲成a人在线观看| 亚洲最大视频网站| 亚洲综合伊人久久大杳蕉| 免费无码不卡视频在线观看| 无码精品国产一区二区三区免费| 女bbbbxxxx另类亚洲| 国产精品久久亚洲不卡动漫| 国产亚洲人成网站在线观看不卡| 免费va人成视频网站全| 69式国产真人免费视频| 日韩免费视频一区二区| 国产高清对白在线观看免费91| 亚洲成av人片在www鸭子| 亚洲第一页中文字幕| 亚洲人成网www| 国产亚洲真人做受在线观看| 亚洲 自拍 另类小说综合图区|