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

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

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

    JAVA & FLEX

    一個(gè)分享java和flex開(kāi)發(fā)經(jīng)驗(yàn)的空間

       :: 首頁(yè) ::  :: 聯(lián)系 ::  :: 管理 ::
      26 隨筆 :: 2 文章 :: 44 評(píng)論 :: 0 Trackbacks
    此文參考了網(wǎng)上文章,并對(duì)其中做了補(bǔ)充。
        參考原文地址一:http://blogger.org.cn/dispbbs.asp?BoardID=41&id=26447&replyID=19949&star=1&skin=0
        參考原文地址二:http://www.diybl.com/course/3_program/java/javashl/2008414/110181.html

        Yale CAS (Central Authentication Service,中央認(rèn)證服務(wù))是耶魯大學(xué)的一個(gè)開(kāi)源項(xiàng)目。它為耶魯大學(xué)的網(wǎng)絡(luò)應(yīng)用提供了一種標(biāo)準(zhǔn)的用戶認(rèn)證服務(wù),從而實(shí)現(xiàn)了SSO的功能。
        Yale CAS被設(shè)計(jì)成為一個(gè)獨(dú)立的網(wǎng)絡(luò)應(yīng)用程序,它使用JavaS ervlet技術(shù)實(shí)現(xiàn),可以作為用戶身份認(rèn)證模塊加入到網(wǎng)絡(luò)應(yīng)用中。

        2004 年 12 月正式成為 JA-SIG 的一個(gè)項(xiàng)目。CAS 具有以下特點(diǎn):

        開(kāi)源的企業(yè)級(jí)單點(diǎn)登錄解決方案。 
        CAS Server 為需要獨(dú)立部署的 Web 應(yīng)用。 
        CAS Client 支持非常多的客戶端(這里指單點(diǎn)登錄系統(tǒng)中的各個(gè) Web 應(yīng)用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
        CAS 原理和協(xié)議

        從結(jié)構(gòu)上看,CAS 包含兩個(gè)部分: CAS Server 和 CAS Client。CAS Server 需要獨(dú)立部署,主要負(fù)責(zé)對(duì)用戶的認(rèn)證工作;CAS Client 負(fù)責(zé)處理對(duì)客戶端受保護(hù)資源的訪問(wèn)請(qǐng)求,需要登錄時(shí),重定向到 CAS Server。圖1 是 CAS 最基本的協(xié)議過(guò)程:


    圖 1. CAS 基礎(chǔ)協(xié)議
     


        CAS Client 與受保護(hù)的客戶端應(yīng)用部署在一起,以 Filter 方式保護(hù)受保護(hù)的資源。對(duì)于訪問(wèn)受保護(hù)資源的每個(gè) Web 請(qǐng)求,CAS Client 會(huì)分析該請(qǐng)求的 Http 請(qǐng)求中是否包含 Service Ticket,如果沒(méi)有,則說(shuō)明當(dāng)前用戶尚未登錄,于是將請(qǐng)求重定向到指定好的 CAS Server 登錄地址,并傳遞 Service (也就是要訪問(wèn)的目的資源地址),以便登錄成功過(guò)后轉(zhuǎn)回該地址。用戶在第 3 步中輸入認(rèn)證信息,如果登錄成功,CAS Server 隨機(jī)產(chǎn)生一個(gè)相當(dāng)長(zhǎng)度、唯一、不可偽造的 Service Ticket,并緩存以待將來(lái)驗(yàn)證,之后系統(tǒng)自動(dòng)重定向到 Service 所在地址,并為客戶端瀏覽器設(shè)置一個(gè) Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新產(chǎn)生的 Ticket 過(guò)后,在第 5,6 步中與 CAS Server 進(jìn)行身份合適,以確保 Service Ticket 的合法性。

        在該協(xié)議中,所有與 CAS 的交互均采用 SSL 協(xié)議,確保,ST 和 TGC 的安全性。協(xié)議工作過(guò)程中會(huì)有 2 次重定向的過(guò)程,但是 CAS Client 與 CAS Server 之間進(jìn)行 Ticket 驗(yàn)證的過(guò)程對(duì)于用戶是透明的。

        另外,CAS 協(xié)議中還提供了 Proxy (代理)模式,以適應(yīng)更加高級(jí)、復(fù)雜的應(yīng)用場(chǎng)景,具體介紹可以參考 CAS 官方網(wǎng)站上的相關(guān)文檔。
        下面就來(lái)說(shuō)說(shuō)該如何配置我們的第一個(gè)CAS服務(wù)器
         首先需要到官網(wǎng)上下載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

       1、打開(kāi)tomcat中的SSL協(xié)議
        修改Tomcat配置文件server.xml,去掉對(duì)于SSL的注釋,即開(kāi)放8443端口,注意這里需要在connector字段中加入keystorePass="password"參數(shù),password即為上面幾步中涉及到的密碼,代碼如下:
       

    1    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    2    <!-- -->
    3    <Connector port="8443" maxHttpHeaderSize="8192"
    4               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    5               enableLookups="false" disableUploadTimeout="true"
    6               acceptCount="100" scheme="https" secure="true"
    7               clientAuth="false" sslProtocol="TLS" keystorePass="changeit" />
        2、生成安全證書(shū)
        如果你的JDK環(huán)境是自動(dòng)安裝的話,你需要在系統(tǒng)中加入JAVA_HOME這個(gè)環(huán)境變量
        然后在DOS環(huán)境下(開(kāi)始-》運(yùn)行-》cmd-》回車后出現(xiàn)DOS窗口)一次敲入如下的命令
        %java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA
        PS:敲入這個(gè)命令后,會(huì)提示你輸入密碼,初始的默認(rèn)密碼為changeit。在證書(shū)生成的時(shí)候,需要你回答一些問(wèn)題,其它的你可以隨便寫(xiě),但是姓名這個(gè)問(wèn)題必須填入localhost。
        %java_home%\bin\keytool -export -alias tomcat -file server.crt
        %java_home%\bin\keytool -import -file server.crt -keystore %java_home%/jre/lib/security/cacerts
       

        3、將CAS server3.0.2中target目錄中的CAS.war復(fù)制到%tomcat_home%\webapps目錄下.
        4、將cas-client-java-2.1.1\dist\casclient.jar文件復(fù)制到%tomcat_home%\common\lib中
        5、修改tomcat自帶的servlet-examples的web.xml, 加入cas的過(guò)濾器:

     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://localhost: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://localhost: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>localhost:8080</param-value>
    15    </init-param>
    16</filter>
    17
    18<filter-mapping>
    19    <filter-name>CASFilter</filter-name>
    20    <url-pattern>/servlet/*</url-pattern>
    21</filter-mapping>
    22<filter-mapping>
    23<filter-name>CASFilter</filter-name>
    24<url-pattern>/*</url-pattern>
    25</filter-mapping>
    26

        6、啟動(dòng)tomcat !,CAS.war文件被自動(dòng)在webapps下釋放出CAS目錄

        最后,如果配置成功,進(jìn)入https://localhost:8443/servlets-examples, 被自動(dòng)轉(zhuǎn)發(fā)到CAS的登陸頁(yè)面,在這個(gè)頁(yè)面上隨便填入相同的用戶名和密碼,進(jìn)入到了被轉(zhuǎn)發(fā)的頁(yè)面。

        PS:證書(shū)的刪除命令如下

        %java_home%\bin\keytool -delete -alias tomcat -keyalg RSA

        %java_home%\bin\keytool -delete -keystore %java_home%/jre/lib/security/cacerts










    posted on 2008-09-19 15:13 程序人生-天津 閱讀(2360) 評(píng)論(3)  編輯  收藏 所屬分類: JAVA基礎(chǔ)

    評(píng)論

    # re: 【積累】一個(gè)基于yelu大學(xué)CSA認(rèn)證服務(wù)的SSO例子(服務(wù)器為tomcat) 2008-09-19 16:44 程序人生-天津
    剩下的例子,待續(xù)了~~  回復(fù)  更多評(píng)論
      

    # re: 【積累】一個(gè)基于yelu大學(xué)CSA認(rèn)證服務(wù)的SSO例子(服務(wù)器為tomcat) 2008-09-19 20:08 van
    我還是用2.1的版本..3.1用了Spring的框架來(lái)寫(xiě)很郁悶...  回復(fù)  更多評(píng)論
      

    # re: 【積累】一個(gè)基于yelu大學(xué)CSA認(rèn)證服務(wù)的SSO例子(服務(wù)器為tomcat) 2008-09-23 17:58 sopofo
    yale
    cas  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 久久精品无码专区免费青青| 亚洲一区二区三区无码影院| 免费一级特黄特色大片在线观看| 亚洲免费观看视频| 亚洲av综合日韩| 免费AA片少妇人AA片直播| 亚洲国产成人一区二区三区| 日韩精品无码永久免费网站| 好爽又高潮了毛片免费下载| 亚洲最大成人网色| 女同免费毛片在线播放| 国产精品高清全国免费观看| 亚洲色中文字幕在线播放| 日韩插啊免费视频在线观看| 亚洲va久久久噜噜噜久久天堂| 久久久久久久国产免费看| 亚洲人成无码网站久久99热国产| 免费无码VA一区二区三区| 国产成人综合亚洲| 亚洲欧洲自拍拍偷精品 美利坚| 免费人成大片在线观看播放| 亚洲高清无在码在线电影不卡| 91青青青国产在观免费影视| 亚洲av纯肉无码精品动漫| 国产免费直播在线观看视频| 美女视频黄a视频全免费网站色 | 鲁啊鲁在线视频免费播放| 亚洲欧洲国产日韩精品| h在线观看视频免费网站| 亚洲人成黄网在线观看| 免费观看黄网站在线播放| 涩涩色中文综合亚洲| 国产精品色午夜免费视频| 久久这里只精品国产免费10| 精品日韩亚洲AV无码| 久久夜色精品国产亚洲av| 99久久免费精品高清特色大片| www.av在线免费观看| 免费一级做a爰片性色毛片| 日本XXX黄区免费看| 久久A级毛片免费观看|