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

             cas是耶魯大學開發(fā)的一個開源項目,含義為集中認證服務(Central Authentication Service),
    目標為:當耶魯大學有新的應用系統(tǒng)上線時,這個應用系統(tǒng)只需要配置使用cas來保護它的資源受限訪問,而不需要 這個應用系統(tǒng)本身再編寫安全方面的代碼。
     
    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 實現(xiàn)的服務,該服務以一個 Java Web Application 單獨部署在與 servlet2.3 兼容的 Web 服務器上,另外,由于 Client 與 CAS Server 之間的交互采用 Https 協(xié)議,因此部署 CAS Server 的服務器還需要支持 SSL 協(xié)議。當 SSL 配置成功過后,像普通 Web 應用一樣將 CAS Server 部署在服務器上就能正常運行了,不過,在真正使用之前,還需要擴展驗證用戶的接口。 
           
    (一) 創(chuàng)建證書
          首先對SSL的安全協(xié)議生成一個證書. 在CMD命令下依次執(zhí)行下面命令或者放在一個bat文件中,一次執(zhí)行.

    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,否則部署不成功會出現(xiàn)下面的異常.       
    嚴重: 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協(xié)議,修改 \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 出現(xiàn)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> 


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

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

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

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


    網站導航:
     

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

    常用鏈接

    留言簿(3)

    隨筆檔案

    相冊

    搜索

    •  

    積分與排名

    • 積分 - 6260
    • 排名 - 2848

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久精品夜色国产亚洲av| 亚洲色成人网站WWW永久| 久久精品国产亚洲av麻豆图片| a级毛片免费全部播放| 亚洲精品国产自在久久| 一级毛片免费全部播放| 亚洲综合国产精品第一页| 亚欧乱色国产精品免费视频| 国产成人精品日本亚洲专区61| 一级视频免费观看| ZZIJZZIJ亚洲日本少妇JIZJIZ| 国产精品免费αv视频| 亚洲成AV人片在| 久久午夜夜伦鲁鲁片免费无码影视 | EEUSS影院WWW在线观看免费| 精品国产亚洲男女在线线电影| 国产成人无码免费网站| 亚洲国产人成在线观看69网站| 97视频免费在线| 国产成人亚洲精品电影| 久久久精品国产亚洲成人满18免费网站 | 午夜精品在线免费观看| 美女黄频a美女大全免费皮| 亚洲最大AV网站在线观看| 99热精品在线免费观看| 亚洲国产av美女网站| 免费国产成人午夜私人影视 | 尤物视频在线免费观看| 亚洲国产精品无码久久久不卡| 曰批全过程免费视频播放网站| 亚洲精品国产第一综合99久久| 亚洲国产精品成人久久蜜臀 | 一级成人a做片免费| 亚洲资源在线观看| 日本二区免费一片黄2019| GOGOGO免费观看国语| 亚洲一区二区三区播放在线| 亚洲国产成人五月综合网 | 国产精品免费视频一区| 国产成人AV片无码免费| 亚洲AⅤ男人的天堂在线观看|