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

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

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

    狼愛(ài)上貍

    我胡漢三又回來(lái)了

    #

    再提 Ubuntu/Debian 下 JAVA 中文顯示

    IRC 上又有朋友問(wèn)到這 JAVA 的 ,


    1.
    在 jre/lib/fonts/ 下建立個(gè)目錄 fallback
    比如我這兒就是
    mkdir /usr/lib/j2sdk1.5-sun/jre/lib/fonts/fallback/

    2.
    在 fallback 里弄個(gè)中文字體
    拷貝或鏈接都可以

    比如我這就是
    ln -s /usr/share/fonts/truetype/arphic/uming.ttf /usr/lib/j2sdk1.5-sun/jre/lib/fonts/fallback/


    3.
    進(jìn)入 jre/lib/fonts/fallback/ 執(zhí)行 mkfontscale
    再把 jre/lib/fonts/fonts.scale 的內(nèi)容加到 jre/lib/fonts/fonts.dir

    我這兒就是
    cd /usr/lib/j2sdk1.5-sun/jre/lib/fonts/fallback/
    mkfontscale
    cd ..
    cat fallback/fonts.scale >> fonts.dir

    來(lái)自:http://blog.chinaunix.net/u/28007/showart_217907.html?

    posted @ 2008-05-31 22:17 狼愛(ài)上貍 閱讀(622) | 評(píng)論 (0)編輯 收藏

    GT4中的globus-start-container和globus-stop-container所遇到的問(wèn)題

    今天在使用GT4時(shí),采用globus-start-container啟動(dòng)容器和globus-stop-container終止容器時(shí)遇到一些問(wèn)題,現(xiàn)歸納如下:
    1.首先采用globus-start-container -nosec啟動(dòng)容器,這個(gè)命令在運(yùn)行GT4例子程序中會(huì)經(jīng)常用到。
    2.然后使用globus-stop-container終止容器。
    但是發(fā)現(xiàn),如果我采用globus-stop-container命令終止容器的使用,會(huì)出現(xiàn):connection refused的錯(cuò)誤。
    另外一個(gè)窗口采用globus-start-container -nosec啟動(dòng)容器的時(shí)候,卻說(shuō)Address in use。

    百思不得其解,最后參考Globus網(wǎng)站,并通過(guò)自己的實(shí)踐,終于解決了這個(gè)問(wèn)題:
    1.首先關(guān)于globus-start-container,globus.org上是這樣描述的:

    Starts a standalone container. By default a secure container is started on port 8443 and is accessible via HTTPS. On successful startup a list of services will be displayed on the console. By default the non secure (HTTP) container is started on port 8080.

    2.如果為globus-start-container加上-nosec參數(shù)時(shí),即使用globus-start-container -nosec命令時(shí)

    Starts a non secure (HTTP) container. Please note that this option only disables transport security. Message security still can be used.

    3.然后關(guān)于globus-stop-container,globus.org上是這樣描述的:

    Stops a standalone container. By default this command will attempt to stop a container running on localhost:8443 and perform a soft shutdown.

    這樣就可以明白為什么采用globus-start-container -nosec是在8080端口啟動(dòng)的container,而globus-stop-container要去8443端口關(guān)閉container,就會(huì)出現(xiàn)connection refused的錯(cuò)誤,而且container也沒(méi)有真正關(guān)閉。
    而這個(gè)時(shí)候再次去啟動(dòng)container時(shí),因?yàn)樯洗蔚腸ontainer沒(méi)有關(guān)閉,仍然回占用它所使用的端口,所以就會(huì)出現(xiàn)address in use的錯(cuò)誤了。
    所以在一般情況下,直接采用Ctrl-C關(guān)閉container是一個(gè)好方法。
    如果要想通過(guò)globus-stop-container來(lái)關(guān)閉container的話,在啟動(dòng)的時(shí)候需要采用globus-start-container不加-nosec參數(shù)。

    在使用globus-stop-container來(lái)關(guān)閉container時(shí)還要注意一個(gè)問(wèn)題,就是關(guān)于權(quán)限問(wèn)題。

    By default globus-stop-container must be executed with the same credentials as the container it is running with. If the ShutdownService or the container is configured with separate private key and certificate files (usually /etc/grid-security/containercert.pem and /etc/grid-security/containerkey.pem) do the following to stop the container:

     $ grid-proxy-init -cert /etc/grid-security/containercert.pem \
    -key /etc/grid-security/containerkey.pem \
    -out containerproxy.pem
    $ setenv X509_USER_PROXY containerproxy.pem
    $ globus-stop-container
    $ unsetenv X509_USER_PROXY
    $ rm containerproxy.pem
    

    上面這段話的含義是globus-stop-container使用和container一樣的證書(shū)來(lái)執(zhí)行該命令,這里使用
    containercert.pem和containerkey.pem來(lái)生成一個(gè)containerproxy.pem,最后使用這個(gè)代理證書(shū)來(lái)關(guān)閉
    container。如果你遇到說(shuō)找不到/tmp/x509up-uuid(uid是你用來(lái)執(zhí)行g(shù)lobus-stop-container的用戶的uid)
    文件的情況,可以試圖采用上面的方式來(lái)解決這個(gè)問(wèn)題。

    posted @ 2008-05-28 12:05 狼愛(ài)上貍 閱讀(886) | 評(píng)論 (6)編輯 收藏

    網(wǎng)格開(kāi)發(fā)人員:值得關(guān)注的組織和項(xiàng)目

    級(jí)別: 初級(jí)

    Edna Nerona (edna@legacystudios.biz), 顧問(wèn), Legacy Studios, Inc.

    2007 年 8 月 09 日

    之前,我們向您提供了一份 “網(wǎng)格開(kāi)發(fā)人員推薦閱讀清單”“面向網(wǎng)格開(kāi)發(fā)人員的入門級(jí)開(kāi)源工具”。現(xiàn)在我們又編著了一份代表網(wǎng)格計(jì)算未來(lái)發(fā)展的產(chǎn)品項(xiàng)目和組織清單。本文提供了在目前在不同領(lǐng)域(例如癌癥研究、天文學(xué)和物理學(xué))中開(kāi)展的項(xiàng)目的詳細(xì)清單。本文還介紹了工具包、安全性和數(shù)據(jù)管理。它們都是從各種在線資源獲得,向程序員、管理員和新用戶介紹了與使用、部署和開(kāi)發(fā)網(wǎng)格基礎(chǔ)設(shè)施有關(guān)的具體信息和項(xiàng)目。

    開(kāi)發(fā)網(wǎng)格的組織

    本節(jié)將介紹開(kāi)發(fā)網(wǎng)格產(chǎn)品的組織,它們所解決的問(wèn)題,以及它們是如何影響網(wǎng)格技術(shù)的。網(wǎng)格部署產(chǎn)品可以劃分為幾類:通用網(wǎng)格、科學(xué)和社區(qū)網(wǎng)格、國(guó)家網(wǎng)格、地區(qū)網(wǎng)格和大學(xué)網(wǎng)格。

    國(guó)家和國(guó)際通用網(wǎng)格

    Distributed European Infrastructure for Supercomputing Applications
    作為一個(gè)領(lǐng)導(dǎo)國(guó)家超級(jí)計(jì)算中心的協(xié)會(huì),DEISA(Distributed European Infrastructure for Supercomputing Applications)部署并操作了一個(gè)具有安全產(chǎn)品質(zhì)量的分布式超級(jí)計(jì)算環(huán)境。通過(guò)增強(qiáng)歐洲在高性能計(jì)算方面的能力,該研究組織促進(jìn)了各種科學(xué)和技術(shù)領(lǐng)域中的科學(xué)發(fā)現(xiàn)。DEISA 對(duì)現(xiàn)有國(guó)家高端平臺(tái)進(jìn)行了高度集成,使用了專用的網(wǎng)絡(luò),并獲得了新型系統(tǒng)和網(wǎng)格軟件的支持。
    DutchGrid
    成立于 2000 年,DutchGrid 擁有很多成功的研究成果和計(jì)劃,跨越多個(gè)科學(xué)協(xié)作領(lǐng)域。作為一個(gè)學(xué)術(shù)和研究網(wǎng)格計(jì)算的開(kāi)放平臺(tái),DutchGrid 為荷蘭的網(wǎng)格用戶提供了可全球識(shí)別的身份證書(shū)。DutchGrid CA 是一個(gè)完全中立的項(xiàng)目。任何非盈利的研究人員和學(xué)術(shù)界用戶都可以獲得個(gè)人和服務(wù)器或主機(jī)證書(shū)來(lái)使用網(wǎng)格應(yīng)用程序。
    Enabling Grids for E-science
    Enabling Grids for E-science (EGEE)項(xiàng)目將來(lái)自 32 個(gè)國(guó)家的 90 多個(gè)機(jī)構(gòu)的科學(xué)家和工程師組織在一起,為科學(xué)家使用的電子科學(xué)(e-scinece)提供了一個(gè)無(wú)縫的網(wǎng)格基礎(chǔ)設(shè)施。EGEE 網(wǎng)格包含了超過(guò) 30,000 個(gè) CPU,它們可以一周 7 天、每天 24 小時(shí)地使用,另外還提供了大約 5 PB(5 百萬(wàn)個(gè) GB)的存儲(chǔ)空間,平均要維護(hù) 30,000 個(gè)并發(fā)作業(yè)。擁有如此眾多的資源改變了科學(xué)研究所采用的方法。EGEE 是由歐盟建立的一個(gè)為期 4 年的項(xiàng)目。
    Grid5000
    Grid5000 項(xiàng)目的目標(biāo)是建立一個(gè)高度可配置的具有可控性并可監(jiān)視的實(shí)驗(yàn)網(wǎng)格平臺(tái),網(wǎng)格研究人員可以使用它來(lái)試驗(yàn)從網(wǎng)絡(luò)協(xié)議層到應(yīng)用程序?qū)又g的所有軟件。Grid5000 將法國(guó)地理上分布的 9 個(gè)城市連接在一起,提供了 5,000 個(gè) CPU。這 9 個(gè)城市包括:Bordeaux、 Grenoble、 Lille、 Lyon、 Nancy、 Orsay、 Rennes、 Sophia-Antipolis 和 Toulouse。
    LA Grid
    LA Grid 的發(fā)音是 “lah grid”,它是第一個(gè)全面的計(jì)算網(wǎng)格,將來(lái)自美國(guó)、拉美和西班牙各個(gè)機(jī)構(gòu)的職員、學(xué)生和研究人員聯(lián)系在一起,協(xié)作開(kāi)發(fā)可滿足醫(yī)療服務(wù)行業(yè)內(nèi)商業(yè)和社會(huì)需求的復(fù)雜行業(yè)應(yīng)用程序。除了大學(xué)之外,LA Grid 還吸引了全球工業(yè)界的參與,從而增強(qiáng)了在很多領(lǐng)域內(nèi)的創(chuàng)新,包括衛(wèi)生保健、生命科學(xué)和颶風(fēng)災(zāi)難以及災(zāi)難防御。
    Open Science Grid
    Open Science Grid (OSG)是科學(xué)研究使用的一個(gè)分布式計(jì)算基礎(chǔ)設(shè)施。OSG 聯(lián)盟是惟一一個(gè)由各大學(xué)、國(guó)家實(shí)驗(yàn)室、科學(xué)協(xié)作組織和軟件開(kāi)發(fā)人員將海量計(jì)算和存儲(chǔ)資源組成一個(gè)共享的統(tǒng)一網(wǎng)絡(luò)基礎(chǔ)設(shè)施的聯(lián)盟。
    TeraGrid
    TeraGrid 是由 National Science Foundation 創(chuàng)建的一個(gè)開(kāi)放科學(xué)研究基礎(chǔ)組織。將 9 個(gè)合作站點(diǎn)的業(yè)界領(lǐng)先的資源組合起來(lái),TeraGrid 創(chuàng)建了一個(gè)集成的持久計(jì)算資源。通過(guò)采用國(guó)家專用網(wǎng)絡(luò)的一條高速千兆網(wǎng)絡(luò)彼此連接,TeraGrid 提供了超過(guò) 150 teraflops 的計(jì)算能力、以及接近 2 PB 的循環(huán)存儲(chǔ)空間、無(wú)數(shù)的科學(xué)數(shù)據(jù)集、專用的數(shù)據(jù)分析工具、科學(xué)網(wǎng)關(guān)、以及用來(lái)簡(jiǎn)化對(duì)有價(jià)值資源和可視化資源訪問(wèn)的用戶門戶。

    科學(xué)和社區(qū)網(wǎng)格

    AstroGrid
    AstroGrid 是一個(gè)開(kāi)源項(xiàng)目,它的建立是為英國(guó)和國(guó)際天文學(xué)家創(chuàng)建一個(gè)工作用的虛擬天文臺(tái)(Virtual Observatory,VO)。AstroGrid 是由英國(guó)政府建立,它通過(guò) International Virtual Observatory Alliance (IVOA)與國(guó)際上其他 VO 項(xiàng)目緊密協(xié)作。作為這個(gè)社區(qū)的領(lǐng)導(dǎo)成員之一,AstroGrid 提供了國(guó)際通用的接口標(biāo)準(zhǔn),用來(lái)促進(jìn)天文數(shù)據(jù)的科學(xué)集成,并在全球范圍內(nèi)處理資源。
    cancer Biomedical Informatics Grid
    cancer Biomedical Informatics Grid (caBIG)是一個(gè)自發(fā)組織的網(wǎng)絡(luò)或網(wǎng)格,它將個(gè)人和機(jī)構(gòu)聯(lián)系在一起,可以共享很多數(shù)據(jù)和工具,它創(chuàng)建了一個(gè)全球范圍的癌癥研究資源。caBIG 的目標(biāo)是為了加速癌癥預(yù)防和治療方面的創(chuàng)新方法的迅速問(wèn)世。caBIG 所創(chuàng)建的基礎(chǔ)設(shè)施和工具在癌癥社區(qū)之外也有很廣泛的應(yīng)用。caBIG 目前正在 National Cancer Institute 的 Center for Bioinformatics 的領(lǐng)導(dǎo)下進(jìn)行開(kāi)發(fā)。
    International Virtual Data Grid Laboratory
    International Virtual Data Grid Laboratory (iVDGL)是一個(gè)全球的數(shù)據(jù)網(wǎng)格,用于物理和天文領(lǐng)域的前沿實(shí)驗(yàn)。它的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源分布于美國(guó)、歐洲、亞洲和南美,提供了一個(gè)獨(dú)特的實(shí)驗(yàn)環(huán)境,可用來(lái)測(cè)試和驗(yàn)證國(guó)際的和全球范圍的網(wǎng)格技術(shù)。位于歐洲和美國(guó)的站點(diǎn)通過(guò)一個(gè)由 European DataTAG 項(xiàng)目創(chuàng)建的數(shù)千兆每秒的跨越大西洋的鏈接鏈接在一起。
    World Community Grid
    World Community Grid 的使命是創(chuàng)建全世界最大的公共計(jì)算網(wǎng)格,研究對(duì)人類有益的項(xiàng)目。World Community Grid 的成功在于:集合了個(gè)體為實(shí)現(xiàn)更美好的世界而貢獻(xiàn)出的未用的計(jì)算時(shí)間。World Community Grid 正在研究一些公共和非盈利組織才能使用的技術(shù),從而開(kāi)展一些人道主義研究;如果沒(méi)有公共網(wǎng)格,高昂的計(jì)算基礎(chǔ)設(shè)施將使研究無(wú)法完成。
    Worldwide Large Hadron Collider Computing Grid
    Worldwide Large Hadron Collider(LHC)Computing Grid 的目的是處理 2007 年前 CERN 的 LHC 所開(kāi)展的實(shí)驗(yàn)所產(chǎn)生的空前數(shù)據(jù)量。LHC 開(kāi)展的實(shí)驗(yàn)的計(jì)算需求極為龐大。每年大概會(huì)生成 12 到 14 PB 的數(shù)據(jù),這大約相當(dāng)于 2 千萬(wàn)張 CD。對(duì)這些數(shù)據(jù)進(jìn)行分析大約需要 70,000 臺(tái)目前最快的 PC。通過(guò)部署一個(gè)全球范圍的計(jì)算網(wǎng)格,將分布在歐洲、美國(guó)和亞洲的科學(xué)計(jì)算中心的資源集成到一個(gè)全球虛擬化計(jì)算服務(wù)中,LHC Computing Grid 可以滿足這些需求。




    回頁(yè)首


    美國(guó)地區(qū)的網(wǎng)格

    Northwest Indiana Computational Grid
    Northwest Indiana Computational Grid(NWICG)是來(lái)自 Purdue University-West Lafayette、 Purdue University-Calumet 和 University of Notre Dame 的合作研究和教育組織。NWICG 重點(diǎn)關(guān)注的是國(guó)家科學(xué)和研究活動(dòng),其創(chuàng)建的網(wǎng)絡(luò)基礎(chǔ)設(shè)施可以支持重大問(wèn)題的解決方案,以及在高性能計(jì)算底層技術(shù)領(lǐng)域啟用保持世界領(lǐng)先的技術(shù)。它們正在 Department of Energy's Argonne National Laboratories 的協(xié)助下,在這 3 個(gè)大學(xué)之間為 Northwest Indiana 開(kāi)發(fā)一個(gè)可擴(kuò)充的高速、高帶寬的科學(xué)驅(qū)動(dòng)計(jì)算網(wǎng)格。
    SURAGrid
    Southeastern Universities Research Association(SURA)是一個(gè)組織協(xié)作聯(lián)盟,它合并各種資源以將網(wǎng)格技術(shù)上升到無(wú)縫的共享基礎(chǔ)設(shè)施。SURAgrid 著重關(guān)注的是對(duì)大量分布式能力的直接訪問(wèn),從而用于研究和教育社區(qū)。SURAgrid 促進(jìn)了以下領(lǐng)域的開(kāi)發(fā):所貢獻(xiàn)的資源、項(xiàng)目特有的工具和環(huán)境、高度專門化訪問(wèn)、通往國(guó)家和國(guó)際的網(wǎng)絡(luò)基礎(chǔ)設(shè)施網(wǎng)關(guān)。
    Texas Internet Grid for Research and Education
    Texas Internet Grid for Research and Education (TIGRE)項(xiàng)目的使命是將整個(gè)得克薩斯州的計(jì)算系統(tǒng)、存儲(chǔ)系統(tǒng)、數(shù)據(jù)庫(kù)、可視化實(shí)驗(yàn)和顯示以及儀器和傳感設(shè)備整合在一起,創(chuàng)建一個(gè)計(jì)算網(wǎng)格。通過(guò)集成強(qiáng)大的計(jì)算能力,為得克薩斯州在學(xué)術(shù)、政府以及工業(yè)界的研究人員提供增強(qiáng)的計(jì)算能力,TIGRE 希望能夠?qū)ι镝t(yī)學(xué)、能源和環(huán)境、航空宇宙、材料科學(xué)、農(nóng)業(yè)和信息技術(shù)的進(jìn)步提供幫助。




    回頁(yè)首


    開(kāi)源網(wǎng)格項(xiàng)目

    這些網(wǎng)格項(xiàng)目覆蓋了很多領(lǐng)域,包括網(wǎng)格基礎(chǔ)設(shè)施工具包、中間件工具包、數(shù)據(jù)工具、安全等。下面給出了一些迅速發(fā)展的網(wǎng)格項(xiàng)目和工具。經(jīng)常訪問(wèn)這些站點(diǎn)可以了解有關(guān)它們領(lǐng)導(dǎo)網(wǎng)格技術(shù)不斷發(fā)展的最新消息。

    網(wǎng)格基礎(chǔ)設(shè)施項(xiàng)目

    幫助建立自己網(wǎng)格的開(kāi)源網(wǎng)格基礎(chǔ)設(shè)施項(xiàng)目。

    Berkeley Open Infrastructure for Network Computing
    Berkeley Open Infrastructure for Network Computing (BOINC)是項(xiàng)目使用的一個(gè)軟件平臺(tái),例如 distributed.net 和 SETI@home,它使用了數(shù)百萬(wàn)臺(tái)志愿者計(jì)算機(jī)組成一個(gè)并行的超級(jí)計(jì)算機(jī)。可以獲得該平臺(tái)的源代碼,并且鼓勵(lì)感興趣的 C++ 開(kāi)發(fā)人員幫助開(kāi)發(fā)平臺(tái)代碼。BOINC 目前可以支持 Windows®、Linux®、UNIX® 和 Mac OS X。 CPU 平臺(tái)的需求可能在使用 BOINC 的項(xiàng)目客戶機(jī)之間會(huì)有所不同。
    Uniform Interface to Computing Resources
    Uniform Interface to Computing Resources(UNICORE)提供了一個(gè)可隨時(shí)運(yùn)行的網(wǎng)格系統(tǒng),包括客戶機(jī)和服務(wù)器軟件。UNICORE 讓分布的計(jì)算和數(shù)據(jù)資源在內(nèi)部網(wǎng)和互聯(lián)網(wǎng)上以一種無(wú)縫的安全方式使用。UNICORE 設(shè)計(jì)的重點(diǎn)是幾個(gè)核心原則:無(wú)縫訪問(wèn)異構(gòu)環(huán)境、安全性、站點(diǎn)自治、易于使用的強(qiáng)大的 GUI 客戶機(jī),以及可以進(jìn)行簡(jiǎn)單安裝的快速啟動(dòng)包。

    網(wǎng)格中間件項(xiàng)目

    以下項(xiàng)目已經(jīng)為美國(guó)和國(guó)際項(xiàng)目提供了一些高級(jí)工具,可以簡(jiǎn)化訪問(wèn)大量網(wǎng)格功能,例如計(jì)算、可視化和存儲(chǔ)資源。您可以與不同的網(wǎng)格進(jìn)行交互,或者為自己的網(wǎng)格進(jìn)行定制。

    gLite
    gLite 是網(wǎng)格計(jì)算使用的下一代中間件,它誕生于 12 個(gè)學(xué)術(shù)機(jī)構(gòu)和行業(yè)研究中心的 80 多個(gè)工作人員的聯(lián)合努力,是 EGEE 項(xiàng)目的一部分。gLite 充分利用分布在 Internet 上的計(jì)算和存儲(chǔ)資源,為構(gòu)建網(wǎng)格應(yīng)用程序提供了一個(gè)最佳框架。
    National Research Grid Initiative
    National Research Grid Initiative(NAREGI)位于日本,它著重于網(wǎng)格中間件的研究和開(kāi)發(fā),為廣泛分布的、高級(jí)研究和教育目的實(shí)現(xiàn)大規(guī)模的計(jì)算環(huán)境。
    Ninf-G
    Ninf 也是日本的一個(gè)項(xiàng)目,正在開(kāi)發(fā)編程中間件,使用戶能夠通過(guò)一個(gè)簡(jiǎn)單易用的接口來(lái)訪問(wèn)各種資源,例如網(wǎng)格中的硬件、軟件和科學(xué)數(shù)據(jù)。Ninf-G 是一個(gè)開(kāi)源軟件,支持開(kāi)發(fā)和執(zhí)行分布式計(jì)算資源中使用 Grid Remote Procedure Call(GridRPC)的啟用網(wǎng)格的應(yīng)用程序。
    NorduGrid
    NorduGrid 中間件,也稱為 Advanced Resource Connector(ARC),是一個(gè)按照 GPL 許可發(fā)布的開(kāi)源軟件解決方案,可以實(shí)現(xiàn)保證產(chǎn)品質(zhì)量的計(jì)算和數(shù)據(jù)網(wǎng)格。ARC 為基本網(wǎng)格服務(wù)提供了一個(gè)可靠實(shí)現(xiàn),例如信息服務(wù)、資源查找和監(jiān)視、作業(yè)提交和管理、代理和數(shù)據(jù)管理,以及資源管理。大部分服務(wù)都是通過(guò) GSI 的安全層提供的。中間件是在諸如 OpenLDAP、OpenSSL、SASL 和 Globus Toolkit(GT)之類的開(kāi)源解決方案基礎(chǔ)上構(gòu)建的。
    OGSA-DAI
    OGSA-DAI 項(xiàng)目著重關(guān)注的是中間件的開(kāi)發(fā),從而有助于對(duì)網(wǎng)格中不同來(lái)源的數(shù)據(jù)進(jìn)行訪問(wèn)和集成。這個(gè)項(xiàng)目與 Globus、OMII-Europe、NextGRID、SIMDAT 和 BEinGRID 緊密協(xié)作,確保 OGSA-DAI 軟件可以在各種網(wǎng)格環(huán)境中很好地工作。
    ProActive
    ProActive 是 Java™ 網(wǎng)格中間件庫(kù)(其開(kāi)源代碼具有 LGPL 許可),可用于進(jìn)行并行、分布式和多線程計(jì)算。通過(guò)采用一個(gè)簡(jiǎn)單元語(yǔ)的精簡(jiǎn)集,ProActive 提供了一個(gè)詳盡的 API 來(lái)簡(jiǎn)化網(wǎng)格計(jì)算應(yīng)用程序的編程,這些程序均分布在 LAN、工作站集群和 Internet 網(wǎng)格中。

    安全項(xiàng)目

    為了保護(hù)重要的基礎(chǔ)設(shè)施和信息,安全性需求一直以來(lái)都隨網(wǎng)格計(jì)算的發(fā)展而演變。這些項(xiàng)目代表了一些網(wǎng)格安全解決方案的一些最先進(jìn)的安全標(biāo)準(zhǔn)和實(shí)現(xiàn)。

    GridShib
    GridShib 是在 NCSA 和 University of Chicago 之間開(kāi)展的由 NFS 創(chuàng)建的項(xiàng)目,用來(lái)將聯(lián)合授權(quán)基礎(chǔ)設(shè)施(Shibboleth)與網(wǎng)格技術(shù)(Globus Toolkit)進(jìn)行集成,從而為分布的科學(xué)社區(qū)提供基于屬性的授權(quán)。
    Grid User Management System
    Grid User Management System(GUMS)是一個(gè)網(wǎng)格身份映射服務(wù)(Grid Identity Mapping Service)。當(dāng)站點(diǎn)資源不使用本地網(wǎng)格憑證,而是使用一種不同的機(jī)制來(lái)標(biāo)識(shí)用戶時(shí)(例如 UNIX 帳號(hào)或 Kerberos 準(zhǔn)則),就需要使用身份映射。
    PRIvilege Management and Authorization
    PRIvilege Management and Authorization(PRIMA)是一個(gè)提供增強(qiáng)的網(wǎng)格安全的系統(tǒng)。PRIMA 是一個(gè)全面的網(wǎng)格安全模型和系統(tǒng)。在 PRIMA 中,特權(quán)是一種與平臺(tái)無(wú)關(guān)的、細(xì)粒度權(quán)限的自包含表示。PRIMA 通過(guò)從資源內(nèi)部表示來(lái)具體化對(duì)資源對(duì)象的細(xì)粒度訪問(wèn)權(quán)限實(shí)現(xiàn)了特權(quán)的平臺(tái)無(wú)關(guān)性。

    資源管理和調(diào)度

    網(wǎng)格的一個(gè)基本部分就是在資源之間管理和調(diào)度作業(yè)。下面這些項(xiàng)目展示了有關(guān)的一些策略。

    Community Scheduler Framework
    Community Scheduler Framework(CSF)是一個(gè)基于 OGSA 的元調(diào)度器的開(kāi)源實(shí)現(xiàn)。它可以支持最新的 WS-Agreement 規(guī)范和 Globus Toolkit 的 GRAM 服務(wù)。CSF 填補(bǔ)了現(xiàn)有資源管理現(xiàn)狀的不足,并集成了 Platform LSF 和 Platform Multicluster。CSF 開(kāi)源項(xiàng)目已經(jīng)包括到了 Globus Toolkit V4.0 發(fā)行版中。
    Special Priority and Urgent Computing Environment
    高性能建模和仿真在決策制定和預(yù)測(cè)方面起到了推動(dòng)作用。對(duì)于時(shí)間關(guān)鍵型的應(yīng)急應(yīng)用程序,例如災(zāi)害天氣預(yù)報(bào)、洪水建模、流感建模,任何延時(shí)會(huì)使結(jié)果變得毫無(wú)用處。這需要使用專用的基礎(chǔ)設(shè)施快速、自動(dòng)而且可靠地提供計(jì)算資源。Special Priority and Urgent Computing Environment(SPRUCE)是一個(gè)用來(lái)在傳統(tǒng)超級(jí)計(jì)算機(jī)和分布式網(wǎng)格上支持緊急或事件驅(qū)動(dòng)計(jì)算的系統(tǒng)。

    網(wǎng)格資源監(jiān)視

    對(duì)資源和應(yīng)用程序的監(jiān)視是網(wǎng)格成功的關(guān)鍵。通過(guò)一個(gè)簡(jiǎn)單易用的接口,這些復(fù)雜工具可以幫助用戶搜集、分類和監(jiān)視各種類型的資源。另外,系統(tǒng)管理員還可以監(jiān)視網(wǎng)格的健康狀況。這些不斷發(fā)展的網(wǎng)格項(xiàng)目列出了幾個(gè)開(kāi)源選擇。

    GridCat
    GridCat 是一個(gè)在地理圖上使用狀態(tài)點(diǎn)以及編目的高級(jí)網(wǎng)格編目系統(tǒng)。這個(gè)圖可以幫助調(diào)試站點(diǎn)問(wèn)題。編目中包含了有關(guān)站點(diǎn)的準(zhǔn)備信息,以及每個(gè)站點(diǎn)的很多其他有價(jià)值的信息,幫助應(yīng)用程序用戶和網(wǎng)格調(diào)度器開(kāi)發(fā)人員進(jìn)行作業(yè)提交和作業(yè)調(diào)度。GridCat 嘗試在其最簡(jiǎn)單的狀態(tài)表示中表示網(wǎng)格站點(diǎn)。
    Gridscape II
    Gridscape II 是一個(gè)定制的門戶組件,可以在其自身的網(wǎng)格門戶中使用,也可以插入到現(xiàn)有網(wǎng)格門戶中。Gridscape II 負(fù)責(zé)從各種異構(gòu)和分布式資源中搜集信息,并在單個(gè)界面中無(wú)縫地將它們呈現(xiàn)出來(lái)。它充分利用了 Google Maps API 來(lái)提供一個(gè)高交互性的用戶界面。Gridscape II 非常簡(jiǎn)單易用,為那些不希望大量投資以從頭開(kāi)始開(kāi)發(fā)自己的監(jiān)視門戶的用戶提供了一個(gè)解決方案,也為那些希望簡(jiǎn)化定制內(nèi)容的用戶提供了一種解決方案。

    存儲(chǔ)和數(shù)據(jù)管理

    從開(kāi)源高性能文件系統(tǒng)到無(wú)縫地訪問(wèn)異構(gòu)環(huán)境中的數(shù)據(jù),以下項(xiàng)目集合了各種存儲(chǔ)和數(shù)據(jù)管理解決方案并進(jìn)行了優(yōu)化。這種趨勢(shì)強(qiáng)調(diào)的是資源之間的數(shù)據(jù)存儲(chǔ)、管理和移動(dòng),以及通過(guò)網(wǎng)絡(luò)對(duì)數(shù)據(jù)資源的連接。

    Lustre
    Lustre File System,這是一個(gè)來(lái)自 Cluster File Systems Inc. 的高性能開(kāi)源文件系統(tǒng),它是一個(gè)分布式文件系統(tǒng),消除了很多傳統(tǒng)分布式文件系統(tǒng)中存在的性能、可用性和可伸縮性問(wèn)題。Lustre 是一個(gè)高度模塊化的下一代存儲(chǔ)架構(gòu),它將現(xiàn)有的開(kāi)放標(biāo)準(zhǔn)、Linux 操作系統(tǒng)和創(chuàng)新協(xié)議組合成一種可靠的、網(wǎng)絡(luò)中立的數(shù)據(jù)存儲(chǔ)和檢索解決方案。通過(guò)在集群和數(shù)據(jù)共享環(huán)境中提供高 I/O 吞吐量,Lustre 還提供了與物理存儲(chǔ)上的數(shù)據(jù)位置無(wú)關(guān)的獨(dú)立性,防止單點(diǎn)失效,并且可以從集群的重新配置和服務(wù)器或網(wǎng)絡(luò)故障中快速恢復(fù)。
    NeST
    NeST 是一個(gè)軟件網(wǎng)絡(luò)存儲(chǔ)設(shè)備,為特定時(shí)間段提供了安全的存儲(chǔ)分配。分配單元或份額(lot)的大小和持續(xù)時(shí)間可以在 NeST 和用戶或應(yīng)用程序之間進(jìn)行協(xié)商。這些份額的大小也可以擴(kuò)充,時(shí)間可以擴(kuò)展,或者劃分成不同的層次。另外,NeST 還為份額和文件訪問(wèn)提供了訪問(wèn)控制列表。NeST 提供了多種協(xié)議接口,包括內(nèi)部使用的 Chirp、HTTP 和 GSI-FTP。
    SAMGrid
    SAMGrid 是一個(gè)通用數(shù)據(jù)處理系統(tǒng),它被設(shè)計(jì)為用來(lái)測(cè)試大量數(shù)據(jù)(PB 級(jí))集和廣泛分布的產(chǎn)品和分析工具的一個(gè)關(guān)鍵設(shè)備。當(dāng)前產(chǎn)品的組件提供了大量的服務(wù),可用于分布式系統(tǒng)中的數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)和進(jìn)程記錄。
    UberFTP
    UberFTP 是在 GridFTP 基礎(chǔ)上構(gòu)建的,它是第一個(gè)啟用 GridFTP 的交互式 FTP 客戶機(jī)。基本的 GridFTP 客戶機(jī)不是可交互式的,它一次只允許傳輸一個(gè)文件。UberFTP 提供了交互式工具,工作方式與流行的 NCFTP 工具類似。它支持 GSI 認(rèn)證、并行數(shù)據(jù)通道以及第三方傳輸功能。




    回頁(yè)首


    結(jié)束語(yǔ)

    網(wǎng)格計(jì)算是最令人興奮的技術(shù)之一,它在很大程度上影響了我們解決復(fù)雜問(wèn)題和共享各種資源的方式。除了癌癥和物理學(xué)之外,它對(duì)于安全和認(rèn)證、查找、監(jiān)視、信息服務(wù)、數(shù)據(jù)管理、資源管理和調(diào)度也有重大影響。



    參考資料

    學(xué)習(xí)

    獲得產(chǎn)品和技術(shù)
    • 請(qǐng)下載 IBM 產(chǎn)品評(píng)測(cè)版,嘗試使用來(lái)自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的應(yīng)用程序開(kāi)發(fā)工具和中間件產(chǎn)品。

    • 使用 IBM 試用軟件 改進(jìn)您的下一個(gè)開(kāi)源開(kāi)發(fā)項(xiàng)目,這些軟件可以從 developerWorks 下載或從 DVD 獲得。

    討論


    關(guān)于作者

    Edna Nerona

    Edna Nerona 是 Legacy Studios,Inc. 的所有人,這是一家位于 San Diego 的創(chuàng)新服務(wù)公司。她擁有 San Diego State University 的新聞學(xué)學(xué)士學(xué)位,曾經(jīng)在 San Diego Supercomputer Center 和 Entropia,Inc. 工作過(guò)。她還是 Toastmasters International 的一名多才多藝的發(fā)言人。



    來(lái)自: http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/

    posted @ 2008-05-23 10:55 狼愛(ài)上貍 閱讀(546) | 評(píng)論 (0)編輯 收藏

    羽球服裝及附件

    羽球服裝及附件:

    羽毛球服裝選擇相對(duì)容易了很多。但不是任何運(yùn)動(dòng)衫都有資格可以成為羽毛球衣。選擇的時(shí)候還是要有一些原則的。不要選擇純棉的衣服,因?yàn)榧兠薜囊路m然吸汗,但是能力有限,并且不容易蒸發(fā),隨著汗水的吸收,自重會(huì)加大,到最后會(huì)貼在身上,非常的不舒服。夏季不要選擇滌棉的衣服,滌棉的衣服雖然比純棉舒服了很多,但天氣炎熱的時(shí)候還是會(huì)出現(xiàn)與純棉服裝一樣的結(jié)果。冬季如果不是在非常溫暖的地區(qū),選擇滌棉服裝會(huì)提高保暖性能。不要選擇過(guò)于貼身的衣服。過(guò)于貼身的衣服有可能會(huì)限制球員的運(yùn)動(dòng)范圍,打球的時(shí)候會(huì)不太舒服。要選擇輕量化服裝。并不是每一件衣服都會(huì)像知名品牌羽球服裝那樣的輕盈。進(jìn)行羽毛球運(yùn)動(dòng)時(shí),最好還是穿著專門的羽毛球品牌服裝,或是針對(duì)羽毛球運(yùn)動(dòng)的特點(diǎn)而開(kāi)發(fā)出來(lái)的服裝。YONEX的衣服具有加熱降溫功能。夏天和冬天分別能提供低3度和高3度的感覺(jué),是羽球服裝的精品。選擇運(yùn)動(dòng)短褲時(shí)要選彈性大的,因?yàn)橛鹈蜻\(yùn)動(dòng)經(jīng)常需要球員以蹬跨步移動(dòng),一件有彈性的運(yùn)動(dòng)短褲可以使動(dòng)作更舒展而不必?fù)?dān)心對(duì)服裝構(gòu)成任何傷害。

    羽球服裝特點(diǎn)簡(jiǎn)述:

    YONEX

    YONEX品牌的服裝上鏡率最高。其特點(diǎn)也比較明顯。材料大致分兩大類,特殊功能性纖維和普通功能性纖維。

    普通功能型纖維就是常見(jiàn)的YONEX 100%滌綸(polyster)的產(chǎn)品。這里要特別說(shuō)明的是,有很多走私水貨的YONEX服裝,或假冒的YONEX服裝,都是滌+棉的。這種衣服的排水性和蒸發(fā)汗水能力都遠(yuǎn)差于正品行貨。在天氣較熱出汗量較大時(shí)穿著,衣服會(huì)因含有棉的成分而粘貼在身上。令人非常難受。但因其售價(jià)低廉,還是可以迎合一小部分人的消費(fèi)需要。SHBC不推薦穿著這樣的服裝上場(chǎng)打球,如果真的不愿意花很多錢來(lái)購(gòu)買YONEX品牌的服裝,還有KASON服裝可供選擇。KASON的服裝也有100%滌綸(polyster)的,在提供了較低價(jià)格的同時(shí),保證了羽球服裝應(yīng)有的性能。

    特殊功能性纖維指的是YYHEAT CAPSULE(熱囊)VERY COOL(冷卻)纖維。這兩種材料成分標(biāo)識(shí)其實(shí)也是100%滌,但所用的材料與普通的YONEX服裝不同,VERY COOL服裝一般在領(lǐng)子后面的吊牌下方都會(huì)帶有VERY COOL的標(biāo)記,比較好辨認(rèn)。 需要注意的是,SP版的衣服使用了一種叫做TRUE COOL的標(biāo)記,TRUE COOL的標(biāo)記與VERY COOL類似,但所謂的TRUE COOL是100%棉生產(chǎn)的,這種衣服很明顯是根本不值得購(gòu)買的。且棉產(chǎn)品容易起皺,放在球包內(nèi)擠壓后穿著會(huì)比較難看。

    VERY COOL和HEAT CAPSULE可以提供升高三攝氏度或降低三攝氏度的體表感受,在適當(dāng)?shù)募竟?jié)穿著相應(yīng)特性的產(chǎn)品打球,是非常舒適的。因其功能特殊,價(jià)格較一般產(chǎn)品貴了不少。約為普通功能型纖維衣物的1.5-2倍,但因其舒適性出色,還是很受歡迎的。

    VICTOR(勝利)的服裝以及KASON(凱勝)的服裝雖然品牌不如YONEX那么出名,但衣服的質(zhì)量是不錯(cuò)的。尤其是VICTOR的服裝,06年的設(shè)計(jì)非常新穎,色彩也很討好。一樣是排汗速干面料,不是非常追求品牌的話,穿起來(lái)一樣很舒服。

    其他還有如BONNY(波力)的銀纖維,竹炭纖維也是很不錯(cuò)的衣服,只是設(shè)計(jì)實(shí)力略欠缺,如果能買到心儀的款式,也是很好的選擇。

    羽毛球襪:

    很多人覺(jué)得自己的襪子已經(jīng)夠厚了,沒(méi)必要花幾十塊去買一雙名牌羽球襪,就算是KASON,FLEX等品牌,一雙襪子也要二十元以上,其實(shí)這種想法是不對(duì)的。再厚的襪子,也很難比的上專業(yè)羽球襪的厚度。很多對(duì)此想法持懷疑態(tài)度的人,在親手摸過(guò)羽毛球襪以后,往往會(huì)立刻購(gòu)買。足見(jiàn)普通加厚運(yùn)動(dòng)襪與專業(yè)羽球襪的區(qū)別。

    勿庸置疑,YONEX的VERY COOL羽毛球襪是穿著最舒適的羽毛球襪了。關(guān)于VERY COOL,這里就不再多說(shuō)了。價(jià)格要比一般的襪子略貴一些,有條件的話這是第一選擇。

    其他品牌如VICTOR,KASON,FLEX的襪子質(zhì)量基本相同,價(jià)格低但是品質(zhì)不低,也都可以起到良好的保護(hù)作用。只是沒(méi)有VERY COOL那么舒服。

    需要注意的是,一雙正品羽毛球襪的厚度大致相當(dāng)于半碼鞋,考慮到運(yùn)動(dòng)中雙腳會(huì)繼續(xù)充血膨脹,買鞋最好大1碼。


    來(lái)自:http://www.shbc.cn/dispbbs.asp?boardID=307&ID=40224&page=1

        

    posted @ 2008-05-19 16:08 狼愛(ài)上貍 閱讀(210) | 評(píng)論 (0)編輯 收藏

    羽毛球拍選購(gòu)

    羽毛球拍:

    拍子的選擇是目前球友們最關(guān)心的一個(gè)問(wèn)題了。在上羽網(wǎng)論壇上每天要有很多次發(fā)言是與球拍的選擇有關(guān)的。雖然球拍是一個(gè)很重要的部分,但在實(shí)際運(yùn)動(dòng)中,球拍的重要性被夸大了不少。需要強(qiáng)調(diào)的是,一把好的球拍可以給使用者以信心,但是根本不可能提高使用者自身的水平。

    目前幾乎所有的球拍都是碳素,石墨復(fù)合材料制成的。有些生產(chǎn)商喜歡加一些特殊的材料如TI金屬網(wǎng),KEVLAR(凱芙拉),納米復(fù)合材料。需要著重說(shuō)明的是,這些附加材料只占了總材料的一少部分,一支球拍的99%以上始終還是這種碳素石墨復(fù)合材料。附加材料帶給球拍性能的改變并不會(huì)是非常明顯的,但確實(shí)有效。

    羽毛球拍是球員和球之間的“中介”,由以下幾種特性來(lái)分類:形狀,硬度,重量,平衡點(diǎn)。

    目前的球拍主要有兩種形狀:圓頭拍和方頭拍。圓頭拍就是傳統(tǒng)的拍形,拍頭上部略尖,球拍整體呈卵形。這種卵形球拍甜區(qū)較小,但甜區(qū)部位力量爆發(fā)非常的集中。圓頭拍對(duì)初學(xué)者來(lái)說(shuō)較難上手。目前此類拍頭的球拍型號(hào)已經(jīng)不是很多了。方頭拍(ISO拍面)是后起之秀,因其甜區(qū)巨大在90年代初期后迅速風(fēng)靡全球。

    球拍的硬度類似于拍線的拉力大小。越硬的球拍需要越大的力量驅(qū)動(dòng),反之亦然。

    球拍的重量是多樣化的。常見(jiàn)的球拍重量范圍一般在8095。同拍柄尺寸單位一樣,不同的廠商有各自的重量單位定義,但是最流行的就是YONEX公司所使用的U系統(tǒng)。U951002U90943U=85-894U80845U7975,一般常用的球拍基本上都是2U-4U79以下的一般都叫做超輕拍,主要是設(shè)計(jì)給女性,或有特殊需要的球友。而95以上的一般都是金屬拍,主要是給以打羽毛球?yàn)榻∩硎侄味辉冈谄鞑纳匣ㄙM(fèi)過(guò)多的人。

    球拍的重量決定了揮拍速度。使用同樣的揮拍力量,越輕的球拍可以產(chǎn)生越高的揮拍速度。簡(jiǎn)單來(lái)說(shuō),越輕的球拍使用起來(lái)越靈活。但是球拍并不是越輕越好的,因?yàn)樵捷p的球拍就越不穩(wěn)定,需要越多的力量保持其運(yùn)動(dòng)軌跡。重一些的拍子在揮動(dòng)時(shí)可以帶有更多的動(dòng)能,擊球瞬間可以產(chǎn)生更大的勢(shì)能。這就是為什么很多進(jìn)攻型的拍子頭都會(huì)比較重的原因。

    球拍的平衡點(diǎn)決定了一支球拍的重量分部情況。目前市場(chǎng)上的很多球拍都已經(jīng)是頭重型的了,頭重型的球拍在揮動(dòng)時(shí)可以更加的穩(wěn)定,而平衡型球拍更靈活一些。

    球拍的選擇是非常個(gè)性化的,沒(méi)有任何人可以說(shuō)某種球拍的某種特性就一定強(qiáng)過(guò)另一種。選擇球拍可以參考一些專業(yè)意見(jiàn),但最終如何選擇還是要由自己來(lái)決定。

    YONEX球拍特點(diǎn):

    NS系列 NS系列目前成員有NS6000NS7000NS8000

    NS6000的拍桿較軟,帶有LSC減震系統(tǒng),是YONEX2006年推出的專為女性設(shè)計(jì)的球拍。該拍拍身較柔軟,ISO(小平頭)拍面,適合女性使用。

    NS7000,此拍是為中高級(jí)業(yè)余選手設(shè)計(jì)的。采用8mm粗桿,桿身彈性很好,拍頭采用破風(fēng)設(shè)計(jì),ISO中型拍面,用于防守時(shí)非常輕松。平抽擋能力低于NS8000MP-100等。由于平衡點(diǎn)適中,驅(qū)動(dòng)輕松,所以拉后場(chǎng)球比較容易。殺球威力與TI-10,MP-100相比略有不足。適合控球型選手。此拍曾被國(guó)家隊(duì)混雙世界冠軍高凌所選用。

    NS8000,此拍是目前納米系列中銷量很大的型號(hào)。目前銷量甚至要超過(guò)最新款的NS-9000。拍框10點(diǎn)2點(diǎn)位以及拍桿頂端采用了C60(弗拉倫)填充的納米材料。7mm細(xì)桿,爆發(fā)力極好。摒棄了傳統(tǒng)的吹氣管工藝而采用了發(fā)泡材料成型的制作方法,使拍框穩(wěn)定性更好,擊球時(shí)落點(diǎn)非常準(zhǔn)確。采用了單向線孔設(shè)計(jì),使球拍受力更加均勻,更耐用。因其彈性出色,拉球比較省力。均衡的設(shè)計(jì)使此拍處理網(wǎng)前球輕松自如,用于雙打時(shí),NS8000平抽擋出球的速度比NS7000要快。雖然是輕量化設(shè)計(jì),但在YONEX球拍坐標(biāo)中,NS8000進(jìn)攻能力以極微小差別僅低于MP-100。因其拍頭較輕,連續(xù)進(jìn)攻能力很強(qiáng),在業(yè)余選手中此拍比MP-100更受歡迎,銷量很大。

    NS9000,最新款重型武器。拍頭明顯重于NS8000。9000的出現(xiàn)將MP-100趕下了進(jìn)攻王者的寶座。分為S/X兩款分別對(duì)應(yīng)硬和超硬兩種中桿硬度。8mm粗桿拍柄加長(zhǎng),想要用好NS9000確實(shí)需要一些力量的支持。同樣采用發(fā)泡成型的制作方法。新的線孔位置,將球拍擊球甜區(qū)略微上移。ELASTIC TI的使用是拍框的穩(wěn)定性和彈性都有不小的進(jìn)步。關(guān)于此拍更詳細(xì)的內(nèi)容,可參考本論壇steven_gu所作的“NS-9000使用體會(huì)”一文。

    AT系列

    AT系列是TI系列高端拍升級(jí)后的產(chǎn)品。拍框底部采用了傳統(tǒng)的盒式結(jié)構(gòu),而上部則采用了創(chuàng)新的ARMORTEC技術(shù)。ARMORTEC技術(shù)最大的特點(diǎn)就是強(qiáng)度高,并帶有鈦金屬條配重。在加強(qiáng)了拍框12點(diǎn)位強(qiáng)度的同時(shí)也將球拍的中心向12點(diǎn)位移動(dòng),使進(jìn)攻更加凌厲。AT系列拍身都采用了輕量化設(shè)計(jì),在保持了拍頭足夠重的前提下使整拍重量只有3U4U。專業(yè)選手使用此拍實(shí)測(cè)時(shí)殺球速度可以有5%的提高。

    AT7002003年誕生,在2004年遍地開(kāi)花,2005年幾乎是言必談700了。此拍因?yàn)橛写罅康膬?yōu)秀選手選用,所以幾乎成了業(yè)余中高級(jí)選手購(gòu)拍的首選。就連國(guó)家隊(duì)內(nèi)多年使用CAB20的夏煊澤也已經(jīng)換成了AT700了。AT700的桿身很硬,頭很重,進(jìn)攻能力極強(qiáng),拍框采用盒式結(jié)構(gòu)加ARMORTEC鈦裝甲配重,穩(wěn)定性很好,強(qiáng)度極高,可以承受很高的拍線拉力,深受專業(yè)選手的喜愛(ài)。驅(qū)動(dòng)這樣的球拍需要較強(qiáng)的腕力。如果力量不足,可以考慮用NS8000代替。

    AT800,世界著名雙打選手拉斯姆森用的就是AT800中的進(jìn)攻型(OFFENSIVE)。而另一位著名雙打選手西吉特使用的是防守型(DEFENSIVE)。進(jìn)攻型的AT800包括了AT700所有的特點(diǎn),而且800700還要硬一些。由于球拍的KICKPOINT(彎折點(diǎn))不同,AT800的平抽擋速度更快,更精準(zhǔn)。800進(jìn)攻型殺球的威力也要比700略微大一點(diǎn)點(diǎn)。AT800/OFDE是非常適合雙打的一對(duì)球拍。也是目前高端拍中唯一的一對(duì)專為雙打而設(shè)計(jì)的球拍。性能非常的優(yōu)異。是喜愛(ài)雙打的業(yè)余愛(ài)好者首選。

    MP系列

    MP系列是YONEX產(chǎn)品線最全面的一個(gè)系列。從進(jìn)攻性最強(qiáng)的MP100到柔軟舒適的MP23一應(yīng)俱全。該系列產(chǎn)品最大的特點(diǎn)就是拍框上帶有muscle power弧形設(shè)計(jì)。Muscle power最主要的作用就是降低拍線張力對(duì)線孔邊緣的壓力,減少較高磅數(shù)對(duì)球拍的傷害,并在拉線厚較長(zhǎng)的一段時(shí)間內(nèi)保持相對(duì)較穩(wěn)定的線床張力。

    MP1002000YONEX推出的產(chǎn)品。紅+黑的涂裝非常惹眼。該產(chǎn)品設(shè)計(jì)定位就是進(jìn)攻。是一把除了進(jìn)攻還是進(jìn)攻的球拍。拍框采用加鈦設(shè)計(jì),強(qiáng)度高,穩(wěn)定性好,MUSCLE POWER技術(shù)的使用更保持了線床張力的持久,平衡的設(shè)計(jì)使球員可以在連續(xù)進(jìn)攻中節(jié)省不少的體力。添加U Ti 8mm中桿非常硬,彈性極好,但是因?yàn)榇伺闹贿m合于爆發(fā)力很好的進(jìn)攻型球員,所以在業(yè)余選手中選用不多。

    MP99,世界一號(hào)男單選手林丹在換用AT700之前使用的就是這個(gè)型號(hào)。MP99的亮黃色外觀非常討人喜歡,尤其是討女生的喜歡。所以有很長(zhǎng)的一段時(shí)間,國(guó)家隊(duì)女隊(duì)中幾乎是一片香蕉黃。與MP100類似,MP99也是39點(diǎn)加鈦的設(shè)計(jì)。7mm的細(xì)桿同樣帶有了U Ti,因拍桿細(xì)了1毫米,所以比MP100要略軟一些。雖然當(dāng)年此拍風(fēng)靡一時(shí),但是因?yàn)榻欢螘r(shí)間與MP99球拍特點(diǎn)類似的新款球拍大量涌現(xiàn),現(xiàn)時(shí)的99已經(jīng)不再吃香了。想要購(gòu)買MP99的人不妨試試NS7000

    MP88peter gade曾經(jīng)使用這把球拍很長(zhǎng)時(shí)間。現(xiàn)在已經(jīng)更換為AT700了。MP88的拍桿中也使用了U Ti,保持了MP高端拍一貫的高彈性。MP88拍桿比MP99 100要軟一些,發(fā)力相對(duì)容易一些。拍頭較重,拍面比較穩(wěn)定。是一把性能出色非常適合業(yè)余愛(ài)好者使用的球拍。

    MP66,這把球拍的風(fēng)格與NS6000有些類似。色彩也比較相似,都很時(shí)尚。只是沒(méi)有NS6000那么多的高科技。頭輕型的MP66在使用中非常的靈活,深受女性球友的歡迎。此拍彈性適中,用于雙打時(shí)是一把很好的防守拍。

     

     來(lái)自:http://www.shbc.cn/dispbbs.asp?boardID=307&ID=40224&page=1

    posted @ 2008-05-19 16:06 狼愛(ài)上貍 閱讀(528) | 評(píng)論 (0)編輯 收藏

    羽毛球拍手膠選購(gòu)

    手膠(柄皮):

    手膠是纏在球拍握把上用以提高摩擦力的物品的統(tǒng)稱。目前主要分兩類,PU手膠和毛巾手膠。早起曾經(jīng)使用過(guò)的真皮手膠現(xiàn)在已經(jīng)基本退出市場(chǎng)。只有個(gè)別款式的球拍原配的柄皮還在使用真皮制品。與拍線和球之間的關(guān)系類似,手膠是和球員雙手關(guān)系最密切的。羽毛球運(yùn)動(dòng)需要很多手指,手腕的細(xì)膩動(dòng)作,一根合適的手膠可以及時(shí)準(zhǔn)確的將擊球后的感覺(jué)反饋給球員的手部。

    一根好的手膠不但可以提供適當(dāng)?shù)淖枘崾骨蚺奈盏母危€可以帶給球員柔軟舒適的手感,吸收打球時(shí)球員手部的汗水使球員保持手部干燥不易打滑。PU手膠因其較長(zhǎng)的使用壽命,不易滋生細(xì)菌,吸汗后手感的保持和低廉的價(jià)格而深受廣大業(yè)余愛(ài)好者的歡迎。毛巾膠雖然價(jià)格相對(duì)較貴并且使用壽命斷,但因其手感柔軟,吸汗能力強(qiáng)還是有很多人堅(jiān)持使用。

    一條好的PU手膠應(yīng)該相對(duì)耐用,阻尼適當(dāng),吸汗抗水能力強(qiáng),抗菌,不產(chǎn)生異味。一條好的毛巾膠應(yīng)該不掉色,不掉毛,圈絨較粗壯,薄厚適中,吸汗后不僵硬,不起球。

    使用手膠時(shí)應(yīng)在保證稱手,適當(dāng)柔軟的前提下盡可能的薄。過(guò)厚(過(guò)粗)的手膠會(huì)使手部僵硬,影響技術(shù)的發(fā)揮。

    選擇手膠的三要素:類型(毛巾還是PU),尺寸(薄或厚),阻尼(該特點(diǎn)主要針對(duì)PU手膠的黏性)

    使用手膠的幾種方法:

    1、在原配柄皮上加PU手膠。目前國(guó)內(nèi)市場(chǎng)的各品牌球拍最常見(jiàn)的尺寸是周長(zhǎng)86mm的握把。該尺寸等同于YY G4的粗細(xì)。在纏新的PU手膠上去的時(shí)候,盡量不要撕掉拍柄的原配熱縮膜(目前只有YY用熱縮膜包裝)。如果是普通的拍柄包裝,則需在取下包裝物后加纏一層UNDERLAPUNDERLAP彈性很大,強(qiáng)度也不錯(cuò),吸水性強(qiáng),是非常好的襯墊物。如果沒(méi)有UNDERLAP,也可以用一層保鮮膜代替。只是手感會(huì)稍差一些。

    2、拆掉原配柄皮后加纏毛巾膠。這樣做是為了保持球拍合理的尺寸。因?yàn)槊砟z比較厚,不拆除原配柄皮直接加纏毛巾膠會(huì)導(dǎo)致拍柄過(guò)粗,影響水平發(fā)揮。在纏毛巾膠之前,一定要使用UNDERLAP保護(hù)拍柄。

    3、拆除原配柄皮后用PU手膠調(diào)整握把粗細(xì)。有很多球友在不同季節(jié)喜歡換用不同類型的手膠。夏天用毛巾膠,冬天用PU手膠。這種做法比較符合上海的季節(jié)特點(diǎn),但是手膠的尺寸比較難控制。所以一般都需要去除原配柄皮,然后重新以PU柄皮來(lái)調(diào)整整個(gè)握把的粗細(xì)。在需要用毛巾膠的時(shí)候,只要去除所有的PU手膠即可,等到冬季來(lái)臨,再按原來(lái)習(xí)慣纏回PU手膠。

    市場(chǎng)上的手膠品種非常多,比較優(yōu)秀的品牌低價(jià)位的有ALPHA,中極星,中高價(jià)位的KIMONI, YONEX。其中YONEX的毛巾膠手感較好。為世界各國(guó)專業(yè)運(yùn)動(dòng)員所喜愛(ài)。美國(guó)品牌FORTEN(華騰)雖然進(jìn)入中國(guó)市場(chǎng)很晚,但是其手膠色彩鮮艷,價(jià)格低廉,頗受時(shí)尚球友的喜愛(ài)。KIMONI(金萬(wàn)利)手膠是制作手膠起家的專業(yè)公司,與YONEX不同的是,KIMONI手膠是全日本制造。品質(zhì)極佳,是目前為止唯一一個(gè)手感,耐用性都要超越Y(jié)ONEX的產(chǎn)品。不過(guò)用好東西總要有點(diǎn)代價(jià),其薄手膠KGT100價(jià)格要高于目前YONEX 102C的售價(jià)。其實(shí)KIMONI的手膠在原產(chǎn)國(guó)的價(jià)格與YONEX相比并不高,只是YONEX的手膠在國(guó)內(nèi)賣的太廉價(jià)了。

    手膠簡(jiǎn)介:

    YONEX

    AC-102,銷量最大的YONEX手膠。PU材料制造。標(biāo)準(zhǔn)長(zhǎng)度1100毫米。實(shí)際長(zhǎng)度大約為1150毫米左右。PU材料的表層有一層YONEX專門開(kāi)發(fā)的柔軟覆膜,表層材料黏性好,吸汗能力強(qiáng),手感舒適。因其表層材料是覆蓋在帶基上的,一旦表層材料磨穿,手感會(huì)下降較快。該手膠耐用性一般,在高強(qiáng)度使用條件下,表面覆膜經(jīng)常會(huì)大片脫落,這種情況屬于產(chǎn)品特征,并不代表質(zhì)量有問(wèn)題。

    AC-104EX,聚氨酯+橡膠制造。標(biāo)準(zhǔn)長(zhǎng)度1100毫米。在手膠的中間帶有一條5毫米寬2毫米高的發(fā)泡材料制造的長(zhǎng)條。纏好以后會(huì)顯出一條一條的龍骨,使球拍更易于掌握。因?yàn)檫@種手膠加入了橡膠材料,故該手膠價(jià)格昂貴,但是此款手膠耐用性較好,也有一部分用戶堅(jiān)持使用。

    KIMONI

    世界第一手膠品牌,其性能有口皆碑。

    KGT-100 無(wú)孔薄手膠。PU材料,標(biāo)長(zhǎng)1050mm。顏色豐富(19色),手感極佳。各方面性能均超越Y(jié)ONEX產(chǎn)品。

    最大特點(diǎn):耐用,手感保持時(shí)間長(zhǎng)。

    KGT-170 我所用過(guò)的性能最出色的厚手膠,難怪其包裝外面印著“世界最強(qiáng)”,我覺(jué)得是當(dāng)之無(wú)愧的。如果非要說(shuō)有缺點(diǎn),那就只能說(shuō)他的價(jià)格不夠“實(shí)惠”了。不過(guò)好東西從來(lái)就沒(méi)實(shí)惠過(guò),可以理解的。如果有條件,購(gòu)買一支高端球拍時(shí),可以當(dāng)場(chǎng)將原配柄皮撕掉,換裝此產(chǎn)品。其優(yōu)異的性能絕不會(huì)令你失望。

    最大特點(diǎn):彈性保持時(shí)間長(zhǎng),隔離性好,對(duì)拍柄保護(hù)能力強(qiáng)。相同情況下,此產(chǎn)品彈性保持能力比最接近它的產(chǎn)品要長(zhǎng)3-5倍。

    該品牌其他型號(hào)雖然很多,但所用原料相同,帶有龍骨的產(chǎn)品價(jià)格要低于YONEX AC104EX。還有打孔的產(chǎn)品以增加透氣性,需要注意的是,打孔的產(chǎn)品最好先做隔水處理后再使用,不推薦手汗多的人使用打孔手膠。

    值得一提的是,現(xiàn)在只有此品牌還有傳統(tǒng)的真皮手膠。如果你心愛(ài)的老款名拍手膠破損,可以用此來(lái)替換了。

    KARAKAL

    該品牌的厚手膠手感良好,雖然比不過(guò)世界第一的KIMONI KGT-170,但價(jià)格實(shí)惠的多,也是值得推薦的。



    來(lái)自:http://www.shbc.cn/dispbbs.asp?boardID=307&ID=40224&page=1

    posted @ 2008-05-19 16:04 狼愛(ài)上貍 閱讀(2339) | 評(píng)論 (0)編輯 收藏

    羽毛球拍線選購(gòu)

    羽毛球拍線:

    羽毛球拍線是羽毛球運(yùn)動(dòng)中非常重要的一種耗材。球員每一次正確擊球動(dòng)作唯一會(huì)接觸到羽毛球的就是拍線了。每一次擊球質(zhì)量的感覺(jué)將直接由拍線傳遞給球拍然后到達(dá)球員的手上。根據(jù)球員當(dāng)前的打球風(fēng)格以及打球的水平,選擇適合的拍線及拍線拉力是非常重要的。拍線的基本特點(diǎn)有耐用性,彈性,擊球聲音,控球能力和吸震性。生產(chǎn)廠家會(huì)將不同拍線的性能特點(diǎn)以5邊形的方式表現(xiàn)在該拍線的包裝上。選擇自己所需要的指數(shù)最高的拍線就可以了。舉例,如果追求耐用性,那么就選擇耐用指數(shù)最高的拍線。如果追求高彈性,則需選擇彈性直屬最高的線。一般來(lái)說(shuō),冬天應(yīng)該用略粗一點(diǎn)的拍線,因?yàn)槎鞖鉁氐停木€變的相對(duì)較脆,很容易斷裂。夏天拍線的選擇可以隨意一些。 相同材質(zhì)情況下,越粗的線就越結(jié)實(shí)(耐用),越細(xì)的線彈性就越大,越不耐用。目前高檔球線中最耐用的拍線是YONEX BG 65,以及ASHAWAY(傲獅威)的A65(RALLY系列)。注意,ASHAWAY的中文名是傲獅威,而不是雅沙維。品牌名稱問(wèn)題最后再講。

    拍線拉力將直接影響到球拍的使用性能,一般來(lái)說(shuō),擊球點(diǎn)越準(zhǔn),力量越大,可以使用的拍線拉力就越高。隨著拍線拉力的提高,羽毛球拍上甜區(qū)的尺寸也快速的縮小,如果只是單純的力量大而擊球點(diǎn)準(zhǔn)確度不夠,高拉力拍線將會(huì)把每一次偏離甜區(qū)的擊打所產(chǎn)生的所有震動(dòng)通過(guò)球拍直接傳遞到球員的手腕、前臂,使球員受到慢性的隱性傷害。這種傷害是在相對(duì)較長(zhǎng)的一段時(shí)間內(nèi)所積累下來(lái)的。起初癥狀并不明顯,但到達(dá)一定程度后,將會(huì)立刻凸顯出來(lái)。具體癥狀為手腕內(nèi)有撕裂感劇痛,手無(wú)法大力緊握等。一旦發(fā)現(xiàn)自己的前臂具有這種特征,就應(yīng)該減少打球時(shí)間,運(yùn)動(dòng)后采取一定的養(yǎng)護(hù)措施,降低拍線拉力,或更換較軟球拍。

    判斷是否已受到這種傷害可用以下方法。持拍手自然端平,大臂和小臂呈90度夾角。此時(shí),小臂應(yīng)指向身體的一側(cè)。手掌外翻對(duì)準(zhǔn)自己面對(duì)的方向,另一只抓住自己的持拍手,慢慢加力向內(nèi)扭轉(zhuǎn)(逆時(shí)針?lè)较颍H绻_(dá)到一定角度以后還只是單純的自然疼痛(因肌肉、韌帶、關(guān)節(jié)等達(dá)到極限位置產(chǎn)生的不強(qiáng)烈的隱性疼痛),則是手腕還處于健康狀態(tài)。如果扭轉(zhuǎn)到一定程度后感覺(jué)到手腕內(nèi)的撕裂性的疼痛或針刺性的疼痛,則是已經(jīng)受傷了。如果輕輕一扭就已經(jīng)產(chǎn)生了強(qiáng)烈的疼痛,則是傷的較重了。

    隨著拍線拉力的提高,拍線的彈性將快速降低,壽命也急速縮短。一些使用高拉力拍線的業(yè)余高手們即使用了BG65這樣極高耐用性的線,12周內(nèi)也會(huì)斷線。而國(guó)家羽毛球隊(duì)運(yùn)動(dòng)員甚至每12天就會(huì)斷線一次。當(dāng)拍線拉力到達(dá)一定程度時(shí),所有彈性特征都會(huì)消失的無(wú)影無(wú)蹤。這也是為什么國(guó)家隊(duì)員一般都只選擇高耐用性的線(如BG65,65TI)而不考慮高彈線的原因了。過(guò)高的拍線拉力會(huì)嚴(yán)重影響球拍的使用壽命,也會(huì)使球拍喪失保修資格。一般業(yè)余愛(ài)好者應(yīng)該根據(jù)自己的能力或參考比較專業(yè)的建議來(lái)選擇適合自己的拍線拉力。

    SHBC(上海羽毛球網(wǎng))推薦拍線拉力:

    初學(xué)者 男性20/21 女性19/20,中級(jí)水平 男性23/24 女性22/23,高級(jí)水平 男性25 女性 24

    知名羽毛球拍線品牌有:ASHAWAY(雅沙維),GOSEN(高神), MIZUNO(美津濃), YONEX(尤尼克斯)

    品牌簡(jiǎn)介:

    YONEX

    BG65,高檔拍線中最耐用的一根,同類產(chǎn)品至今無(wú)人能出其右。進(jìn)攻性能良好。控球型球員也可采用。吸震能力始終。0.70毫米的線徑

    BG65TI,在BG65的基礎(chǔ)上加TI增加了彈性,犧牲了一部分的耐用性。擊球音略好。提高了線的強(qiáng)度,更適合暴力攻擊型選手。吸震能力與65相同。0.70毫米的線徑

    BG70PRO,與65TI彈性相仿,擊球聲音與65類似。也很耐用。因?yàn)橥馄げ捎昧寺研卫w維,所以耐拉能力極強(qiáng),保持拍線拉力的性能非常好,但因吸震性能一般而使手感略微偏硬。0.70毫米的線徑。

    BG80,采用卵形纖維外皮,內(nèi)包VECTRAN纖維,具有很高的反彈性和良好的爆發(fā)力,適合大力抽球,深受雙打選手喜愛(ài)。耐用度一般,但是聲音很好。0.68毫米線徑。為了保證VECTRAN纖維的效果,最好降低拉力12使用。

    BG85,控球線,表皮非常粗糙,只有0.67毫米線徑。耐用性一般,吸震性能很好,手感柔軟。擊球音很好聽(tīng)。彈性超過(guò)BG80。因此線同樣采用了VECTRAN纖維而線徑更細(xì),所以要降低拉力23使用。

    BG68TI,綜合性能非常優(yōu)異的一根球線。各方面的能力都比較出色。是目前市場(chǎng)上可見(jiàn)的彈性最高的YONEX拍線。擊球音清脆響亮,吸震性控制力都很出色。0.68毫米線徑。深受業(yè)余球友的歡迎。耐用性一般,冬天低溫很容易變脆斷線,盡量避免低溫使用。此線彈性很大,但是保持張力性能很一般,掉磅較快。為了保持一定的張力,需頻繁更換。印尼雙打名將西吉特的選擇。

    ASHAWAY 傲獅威

    ASHAWAY曾經(jīng)叫做雅沙維,這是中國(guó)總代所用的名字且已經(jīng)注冊(cè)了中文商標(biāo)。但隨著ASHAWAY公司親自進(jìn)入中國(guó)市場(chǎng),原雅沙維品牌持有人拒絕放棄ASHAWAY產(chǎn)品及商標(biāo)帶給其的經(jīng)濟(jì)效益,將產(chǎn)品轉(zhuǎn)為由其他廠家OEM。美國(guó)ASHAWAY公司只好責(zé)令其禁止使用ASHAWAY商標(biāo)但對(duì)其中文名稱無(wú)能為力。所以,“雅沙維”這個(gè)品牌已經(jīng)不再是美國(guó)原產(chǎn)產(chǎn)品了。而真正的ASHAWAY中文名稱已經(jīng)改為傲獅威,習(xí)慣使用ASHAWAY產(chǎn)品的人購(gòu)買時(shí)要注意一下品名和商標(biāo)。



    來(lái)自:http://www.shbc.cn/dispbbs.asp?boardID=307&ID=40224&page=1

    posted @ 2008-05-19 16:03 狼愛(ài)上貍 閱讀(707) | 評(píng)論 (0)編輯 收藏

    羽毛球鞋選購(gòu)

    所有的羽球愛(ài)好者都要面對(duì)一個(gè)相同的問(wèn)題:我到底該買什么樣的器材?為什么要買這個(gè)器材?這個(gè)器材對(duì)這項(xiàng)運(yùn)動(dòng)有多重要?下面我按照我個(gè)人認(rèn)為的商品重要性進(jìn)行了排列并做了簡(jiǎn)單的說(shuō)明。希望這篇羽球用品選購(gòu)指南能對(duì)所有正在猶豫不決的羽球愛(ài)好者有所幫助。

    因水平有限,未能列出全部羽球用品。日后會(huì)逐漸添加。

    羽毛球鞋:

    很多人都沒(méi)有認(rèn)識(shí)到,一雙好的羽毛球鞋對(duì)這項(xiàng)運(yùn)動(dòng)到底有多重要。隨著球員在場(chǎng)上不停的快速移動(dòng),雙腳要承受平時(shí)幾倍的壓力,伴隨著每一次的啟動(dòng),球員的雙腳要作出扭,轉(zhuǎn),跳躍,急停,換向等等極高機(jī)動(dòng)性的動(dòng)作。這所有的一切都是靠羽毛球鞋的支撐才得以完成。

    有別于普通運(yùn)動(dòng)鞋,羽毛球鞋是專為羽毛球運(yùn)動(dòng)特點(diǎn)而設(shè)計(jì)的。較薄的鞋底,很強(qiáng)的側(cè)面支撐能力使雙腳盡可能的靠近地面。這種設(shè)計(jì)在保證了允許踝關(guān)節(jié)快速的彎曲,雙腳運(yùn)動(dòng)方向頻繁轉(zhuǎn)變的前提下盡可能低的降低了雙腳受傷的可能性。輕量化的設(shè)計(jì)可以使雙腳移動(dòng)速度更快,專門的鞋底材料可以保證雙腳在球場(chǎng)上的抓地力。

    在羽毛球運(yùn)動(dòng)中,我們對(duì)下半身所施加的壓力可以由一雙羽毛球鞋清晰的顯現(xiàn)出來(lái)。一雙高質(zhì)量的羽毛球鞋,在高手的使用下只有36個(gè)月的有效壽命。此時(shí)的羽毛球鞋鞋底已經(jīng)快要磨穿了,鞋墊也會(huì)磨透,高強(qiáng)度人造材料的鞋面,也會(huì)因?yàn)檫\(yùn)動(dòng)中所承受巨大壓力而開(kāi)裂,破損。

    選擇羽毛球鞋一定要仔細(xì),確保選擇了一雙適合雙腳形狀及尺寸的,穿著舒適的球鞋。

    選擇羽毛球鞋一定要比平常的鞋略大一點(diǎn),不然跑動(dòng)起來(lái)腳會(huì)包的很難受。

    羽毛球鞋選擇時(shí)應(yīng)注意前松側(cè)緊。

    側(cè)緊,為了避免側(cè)滑,防止扭傷;前松,上網(wǎng)時(shí)可起到緩沖作用。

    一般來(lái)說(shuō),羽毛球鞋要比平常的鞋大半碼到一碼,不過(guò)記得要穿專業(yè)的羽毛球襪,一雙襪子半碼,留半碼給腳,剛剛好。

    激烈的羽毛球運(yùn)動(dòng)中雙腳的血液循環(huán)要比平時(shí)快的多,雙腳充血也較平常嚴(yán)重,別說(shuō)小了,就是試穿的時(shí)候正好合適下場(chǎng)以后都有可能覺(jué)得緊。

    很多羽毛球愛(ài)好者總是覺(jué)得鞋買大了一碼以后會(huì)非常別扭,每次買鞋都要考慮買正好甚至略小的,這是非常錯(cuò)誤的。

    1、我們平常不會(huì)穿專門的羽毛球襪去試鞋,試出來(lái)的感覺(jué)本身就不夠準(zhǔn)確。

    2、鞋頭不寬松的話,上網(wǎng)時(shí)極有可能會(huì)頂?shù)阶铋L(zhǎng)的腳趾,嚴(yán)重的還會(huì)使腳趾甲受損。

    球鞋尺寸大了,有可能走路會(huì)覺(jué)得別扭,甚至?xí)霈F(xiàn)上樓梯踢臺(tái)階的現(xiàn)象,這是因?yàn)槲覀兊拇竽X已經(jīng)習(xí)慣了鞋+腳的尺寸,在做上樓梯這個(gè)動(dòng)作時(shí),大腦發(fā)令總是以我們常用鞋碼的尺寸來(lái)作為抬腿出腳距離的標(biāo)準(zhǔn),這是為了最大限度節(jié)省體力,是本能。

    但羽毛球步法和上樓梯完全不是一回事,與平時(shí)走路也完全不是一回事。這也是為什么盡量到場(chǎng)館以后才換鞋的另一個(gè)原因。

    注意不要穿厚底鞋(如籃球鞋)上場(chǎng)打羽毛球。厚底鞋會(huì)把腳抬離地面過(guò)高,導(dǎo)致嚴(yán)重的意外扭傷,甚至?xí)?lái)后遺癥,如習(xí)慣性扭傷等。這種運(yùn)動(dòng)傷害會(huì)在今后的很長(zhǎng)一段時(shí)間影響你的羽毛球水平。

    常見(jiàn)的不錯(cuò)的羽毛球鞋品牌有MIZUNO,YONEX。國(guó)產(chǎn)品牌如VICTORKASON等因技術(shù)原因暫時(shí)無(wú)法與國(guó)外品牌抗衡,但因其價(jià)格低廉,也是不錯(cuò)的選擇。

    YONEX羽毛球鞋產(chǎn)品特點(diǎn)簡(jiǎn)介:

    YONEX的高級(jí)球鞋都帶有專利POWER CUSHION動(dòng)力墊。Power cushion的減震能力和彈性極好,一個(gè)生雞蛋從兩米高度下落掉在動(dòng)力墊上不會(huì)損壞,還可以跳起一米

    99LOW 鞋面由柔韌的高級(jí)PU合成皮革加雙層透氣網(wǎng)制成。超輕量EVA中底(GLITE)帶有專利POWER CUSHION材料制成的動(dòng)力墊,鞋墊下部帶有TPU穩(wěn)定片防止足弓變形。高強(qiáng)度石墨連接橋,外裝爪型TPU支撐片(lateral claw 鞋底是防滑耐磨的橡膠大底。

    99M 同上

    89MG 高級(jí)PU合成皮革,聚酯透氣網(wǎng),護(hù)踝柔韌合成皮。EVA中底。耐磨,防滑大底。立體石墨支撐片。防扭系統(tǒng)。

    56C 柔韌PU(合成皮),腳跟動(dòng)力墊(POWER CUSHIO)EVA中底。耐磨橡膠外底。

    06年新款的90M 90L采用了圓鞋底,這種設(shè)計(jì)可使腳底受力更均勻,減輕腳底局部區(qū)域的壓力,使得穿著,使用更舒適。新品價(jià)格略高,但還是值得一試。

    來(lái)自:http://www.shbc.cn/dispbbs.asp?boardID=307&ID=40224&page=1

    posted @ 2008-05-19 16:01 狼愛(ài)上貍 閱讀(273) | 評(píng)論 (0)編輯 收藏

    acegi,IBM的Acegi Security System(4)

    2008 年 3 月 20 日

    Bilal Siddiqui 將繼續(xù)在他的 系列文章 中展示如何使用 Acegi 保護(hù) Java™Server Faces (JSF) 應(yīng)用程序。配置 JSF 和 Acegi,讓它們?cè)?servlet 容器中協(xié)作,探索 JSF 和 Acegi 組件如何彼此協(xié)作。

    系列 的前 3 部分討論了如何使用 Acegi Security System 保護(hù) Java 企業(yè)應(yīng)用程序:

    • 第 1 部分 解釋了如何使用 Acegi 的內(nèi)置過(guò)濾器實(shí)現(xiàn)一個(gè)簡(jiǎn)單的基于 URL 的安全系統(tǒng)。
    • 第 2 部分 展示了如何編寫(xiě)訪問(wèn)控制策略、將其存儲(chǔ)在 LDAP 目錄服務(wù)器中,以及配置 Acegi 與 LDAP 服務(wù)器交互,從而實(shí)現(xiàn)訪問(wèn)控制策略。
    • 第 3 部分 展示了如何在企業(yè)應(yīng)用程序中使用 Acegi 保護(hù)對(duì) Java 類實(shí)例的訪問(wèn)。

    第 4 部分將討論如何使用 Acegi 保護(hù)在 servlet 容器中運(yùn)行的 JavaServer Faces (JSF) 應(yīng)用程序。本文首先解釋 Acegi 針對(duì)此目標(biāo)提供的特性,并澄清一些關(guān)于使用 Acegi 和 JSF 的常見(jiàn)誤解。然后提供一個(gè)簡(jiǎn)單的 web.xml 文件,可以用來(lái)部署 Acegi,從而保護(hù) JSF 應(yīng)用程序。然后深入探討 Acegi 和 JSF 組件,了解在部署 web.xml 文件和用戶訪問(wèn) JSF 應(yīng)用程序時(shí)所發(fā)生的事件。本文最后提供了一個(gè)由 Acegi 保護(hù)的示例 JSF 應(yīng)用程序。

    無(wú)需編寫(xiě) Java 代碼即可添加安全性

    回顧一下本系列的第一個(gè)示例 Acegi 應(yīng)用程序(請(qǐng)參閱 第 1 部分 中的 “一個(gè)簡(jiǎn)單 Acegi 應(yīng)用程序” 一節(jié))。該應(yīng)用程序使用 Acegi 提供了以下安全特性:

    • 當(dāng)一個(gè)未經(jīng)驗(yàn)證的用戶試圖訪問(wèn)受保護(hù)的資源時(shí),提供一個(gè)登錄頁(yè)面。
    • 將授權(quán)用戶直接重定向到所需的受保護(hù)資源。
    • 如果用戶未被授權(quán)訪問(wèn)受保護(hù)資源,提供一個(gè)訪問(wèn)拒絕頁(yè)面。

    回想一下,您無(wú)需編寫(xiě)任何 Java 代碼就能獲得這些特性。只需要對(duì) Acegi 進(jìn)行配置。同樣,在 JSF 應(yīng)用程序中,無(wú)需編寫(xiě)任何 Java 代碼,也應(yīng)該能夠從 Acegi 實(shí)現(xiàn)相同的特性。

    澄清誤解

    其他一些作者似乎認(rèn)為將 Acegi 與 JSF 集成需要 JSF 應(yīng)用程序提供登錄頁(yè)面(參見(jiàn) 參考資料)。這種觀點(diǎn)并不正確。在需要時(shí)提供登錄頁(yè)面,這是 Acegi 的職責(zé)。確保登錄頁(yè)面在安全會(huì)話期間只出現(xiàn)一次,這也是 Acegi 的職責(zé)。然后,經(jīng)過(guò)身份驗(yàn)證和授權(quán)的用戶可以訪問(wèn)一個(gè)受保護(hù)資源,無(wú)需重復(fù)執(zhí)行登錄過(guò)程。

    如果使用 JSF 提供登錄頁(yè)面,將會(huì)發(fā)生兩個(gè)主要的問(wèn)題:

    • 當(dāng)需要時(shí),沒(méi)有利用 Acegi 的功能提供登錄頁(yè)面。必須編寫(xiě) Java 代碼實(shí)現(xiàn)所有邏輯來(lái)提供登錄頁(yè)面。

    • 至少需要編寫(xiě)一些 Java 代碼將用戶憑證(用戶名和密碼)從 JSF 的登錄頁(yè)面移交到 Acegi。

    Acegi 的目的是避免編寫(xiě) Java 安全代碼。如果使用 JSF 提供登錄頁(yè)面,則沒(méi)有實(shí)現(xiàn)這一用途,并且會(huì)引發(fā)一系列其他 JSF-Acegi 集成問(wèn)題,所有這些問(wèn)題都源于 “Acegi 是用來(lái)提供可配置安全性” 這一事實(shí)。如果試圖使用 JSF 來(lái)完成 Acegi 的工作,將會(huì)遇到麻煩。

    本文余下部分將解釋并演示獨(dú)立于 Acegi 的 JSF 應(yīng)用程序開(kāi)發(fā),并在稍后配置 Acegi 以保護(hù) JSF 應(yīng)用程序 — 無(wú)需編寫(xiě)任何 Java 代碼。首先看一下 web.xml 文件,可以部署該文件保護(hù) JSF 應(yīng)用程序。





    回頁(yè)首


    部署 Acegi 保護(hù) JSF 應(yīng)用程序

    清單 1 展示了一個(gè) web.xml 文件(通常稱為部署描述符),可以使用這個(gè)文件部署 Acegi,從而保護(hù)運(yùn)行在 servlet 容器(比如 Apache Tomcat)中的 JSF 應(yīng)用程序:


    清單 1. 用于部署 Acegi 和 servlet 容器中的 JSF 的 web.xml 文件
                            <?xml version="1.0"?>
                <!DOCTYPE web-app PUBLIC
                "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                "http://java.sun.com/dtd/web-app_2_3.dtd">
                <web-app>
                <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/acegi-config.xml</param-value>
                </context-param>
                <context-param>
                <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
                <param-value>server</param-value>
                </context-param>
                <context-param>
                <param-name>javax.faces.CONFIG_FILES</param-name>
                <param-value>/WEB-INF/faces-config.xml</param-value>
                </context-param>
                <listener>
                <listener-class>
                org.springframework.web.context.ContextLoaderListener
                </listener-class>
                </listener>
                <listener>
                <listener-class>
                com.sun.faces.config.ConfigureListener
                </listener-class>
                </listener>
                <!-- Faces Servlet -->
                <servlet>
                <servlet-name>Faces Servlet</servlet-name>
                <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                <load-on-startup> 1 </load-on-startup>
                </servlet>
                <!-- Faces Servlet Mapping -->
                <servlet-mapping>
                <servlet-name>Faces Servlet</servlet-name>
                <url-pattern>*.faces</url-pattern>
                </servlet-mapping>
                <!-- Acegi filter configuration -->
                <filter>
                <filter-name>Acegi Filter Chain Proxy</filter-name>
                <filter-class>
                org.acegisecurity.util.FilterToBeanProxy
                </filter-class>
                <init-param>
                <param-name>targetClass</param-name>
                <param-value>
                org.acegisecurity.util.FilterChainProxy
                </param-value>
                </init-param>
                </filter>
                <!-- Acegi Filter Mapping -->
                <filter-mapping>
                <filter-name>Acegi Filter Chain Proxy</filter-name>
                <url-pattern>/*</url-pattern>
                </filter-mapping>
                </web-app>
                

    注意,清單 1 包含以下標(biāo)記:

    • 3 個(gè) <context-param> 標(biāo)記
    • 2 個(gè) <listener> 標(biāo)記
    • 1 個(gè) <filter> 標(biāo)記
    • 1 個(gè) <servlet> 標(biāo)記
    • 1 個(gè) <servlet-mapping> 標(biāo)記
    • 1 個(gè) <filter-mapping> 標(biāo)記

    閱讀該文件,了解每個(gè)標(biāo)記在 JSF-Acegi 應(yīng)用程序中的用途。

    向 Acegi 和 JSF 提供上下文參數(shù)

    清單 1 中的每個(gè) <context-param> 標(biāo)記定義一個(gè)參數(shù),供 Acegi 或 JSF 在啟動(dòng)或執(zhí)行期間使用。第一個(gè)參數(shù) — contextConfigLocation — 定義 Acegi 的 XML 配置文件的位置。

    JSF 需要 javax.faces.STATE_SAVING_METHODjavax.faces.CONFIG_FILES 參數(shù)。javax.faces.STATE_SAVING_METHOD 參數(shù)指定希望在客戶機(jī)還是服務(wù)器上存儲(chǔ) JSF 頁(yè)面-視圖狀態(tài)。Sun 的參考實(shí)現(xiàn)的默認(rèn)行為是將 JSF 視圖存儲(chǔ)在服務(wù)器上。

    javax.faces.CONFIG_FILES 參數(shù)指定 JSF 需要的配置文件的位置。JSF 配置文件的詳細(xì)信息不屬于本文討論的范圍(參見(jiàn) 參考資料,獲取涉及該主題的資源鏈接)。

    為 Acegi 和 JSF 配置偵聽(tīng)器

    現(xiàn)在看一下 清單 1 中的 2 個(gè) <listener> 標(biāo)記。<listener> 標(biāo)記定義偵聽(tīng)器類,偵聽(tīng)器類偵聽(tīng)并處理 JSP 或 servlet 應(yīng)用程序啟動(dòng)和執(zhí)行期間發(fā)生的事件。例如:

    • 啟動(dòng) JSP 或 servlet 應(yīng)用程序時(shí),servlet 容器創(chuàng)建一個(gè)新的 servlet 上下文。每當(dāng) JSP 或 servlet 應(yīng)用程序啟動(dòng)時(shí),就會(huì)觸發(fā)此事件。

    • servlet 容器創(chuàng)建一個(gè)新的 servlet 請(qǐng)求對(duì)象。每當(dāng)容器從客戶機(jī)收到一個(gè) HTTP 請(qǐng)求時(shí),此事件就會(huì)發(fā)生。

    • 建立一個(gè)新的 HTTP 會(huì)話。當(dāng)請(qǐng)求客戶機(jī)建立一個(gè)與 servlet 容器的會(huì)話時(shí),此事件就會(huì)發(fā)生。

    • 一個(gè)新屬性被添加到 servlet 上下文、servlet 請(qǐng)求和 HTTP 會(huì)話對(duì)象。

    • servlet 上下文、servlet 請(qǐng)求或 HTTP 會(huì)話對(duì)象的一個(gè)現(xiàn)有屬性被修改或刪除。

    <listener> 標(biāo)記就像一種可擴(kuò)展性機(jī)制,允許在 servlet 容器內(nèi)部運(yùn)行的應(yīng)用程序協(xié)同某些事件進(jìn)行處理。servlet 規(guī)范定義了偵聽(tīng)器類為處理事件而實(shí)現(xiàn)的一些接口。

    例如,Spring Framework 實(shí)現(xiàn)一個(gè) javax.servlet.ServletContextListener servlet 接口。實(shí)現(xiàn)此接口的 spring 類是 org.springframework.web.context.ContextLoaderListener。注意,這是 清單 1 的第一個(gè) <listener> 標(biāo)記中的偵聽(tīng)器類。

    類似地,JSF 實(shí)現(xiàn)一個(gè) com.sun.faces.config.ConfigureListener 類,該類實(shí)現(xiàn)一些事件-偵聽(tīng)接口。可以在 清單 1 的第二個(gè) <listener> 標(biāo)記中找到 ConfigureListener 類。

    本文稍后將解釋不同的事件-偵聽(tīng)器接口,以及 Acegi 和 JSF 事件-偵聽(tīng)器類內(nèi)部執(zhí)行的處理(請(qǐng)參閱 “啟動(dòng) JSF-Acegi 應(yīng)用程序” 和 “處理對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求”)。

    配置和映射 servlet 過(guò)濾器

    現(xiàn)在看一下 清單 1 中的 <filter> 標(biāo)記。在請(qǐng)求的 servlet 處理傳入的請(qǐng)求之前,servlet 應(yīng)用程序使用過(guò)濾器對(duì)其進(jìn)行預(yù)處理。在請(qǐng)求執(zhí)行之前,Acegi 使用 servlet 過(guò)濾器對(duì)用戶進(jìn)行身份驗(yàn)證。

    請(qǐng)注意 清單 1 中的 <filter> 標(biāo)記,它的 <filter-class> 子標(biāo)記指定一個(gè) org.acegisecurity.util.FilterToBeanProxy 類。FilterToBeanProxy 類是 Acegi 的一部分。此類實(shí)現(xiàn)一個(gè) javax.servlet.Filter 接口,該接口是 servlet 應(yīng)用程序的一部分。javax.servlet.Filter 接口有一個(gè) doFilter() 方法,servlet 容器在收到請(qǐng)求時(shí)調(diào)用該方法。

    還需注意,清單 1<filter> 標(biāo)記有另一個(gè)子標(biāo)記 <init-param><init-param> 標(biāo)記指定實(shí)例化 FilterToBeanProxy 類所需的參數(shù)。可以從 清單 1 中看出,FilterToBeanProxy 類只需要一個(gè)參數(shù),該參數(shù)是 FilterChainProxy 類的一個(gè)對(duì)象。FilterChainProxy 類表示 第 1 部分 1 中討論的整個(gè) Acegi 過(guò)濾器鏈(請(qǐng)參閱 “安全過(guò)濾器” 小節(jié))。FilterToBeanProxy 類的 doFilter() 方法使用 FilterChainProxy 類執(zhí)行 Acegi 的安全過(guò)濾器鏈。

    清單 1 中的 <filter-mapping> 標(biāo)記指定調(diào)用 Acegi 的 FilterToBeanProxy 的請(qǐng)求 URL。我已經(jīng)將所有的 JSF 頁(yè)面映射到 Acegi 的 FilterToBeanProxy。這意味著只要用戶試圖訪問(wèn) JSF 頁(yè)面,FilterChainProxy doFilter() 方法就會(huì)自動(dòng)獲得控制權(quán)。

    配置 JSF servlet

    web.xml 文件中的 <servlet> 標(biāo)記指定希望從特定 URl 調(diào)用的 servlet(在本例中是一個(gè) JSF servlet)。<servlet-mapping> 標(biāo)記定義該 URL。幾乎所有的 JSP 或 servlet 應(yīng)用程序都包含這兩個(gè)標(biāo)記,所以無(wú)需再作討論(參見(jiàn) 參考資料,獲取討論 servlet 編程的資源鏈接)。

    現(xiàn)在,您已經(jīng)看到,web.xml 文件要部署 Acegi 以保護(hù) JSF 應(yīng)用程序所需的所有標(biāo)記。您已經(jīng)了解了偵聽(tīng)器、過(guò)濾器和 servlet 如何相互協(xié)作。從這里的討論中可以看出,如果在 servlet 容器中部署 清單 1 中的 web.xml 文件,Acegi 和 JSF 都試圖在兩種情形下進(jìn)行一些處理:

    • 當(dāng)啟動(dòng)應(yīng)用程序時(shí)
    • 當(dāng)應(yīng)用程序收到對(duì) JSF 頁(yè)面的請(qǐng)求時(shí)

    接下來(lái)的兩節(jié)解釋每種情況中發(fā)生的一系列事件。





    回頁(yè)首


    啟動(dòng) JSF-Acegi 應(yīng)用程序

    圖 1 展示了在 JSF-Acegi 應(yīng)用程序啟動(dòng)時(shí)發(fā)生的事件順序:


    圖 1. JSF-Acegi 應(yīng)用程序啟動(dòng)時(shí)發(fā)生的事件順序
    JSF-Acegi 應(yīng)用程序啟動(dòng)時(shí)發(fā)生的事件順序


    詳細(xì)來(lái)講,圖 1 顯示的事件順序如下所示:

    1. servlet 容器實(shí)例化在 web.xml 文件中配置的所有偵聽(tīng)器。

    2. servlet 容器將 Acegi 的 ContextLoaderListener 注冊(cè)為一個(gè)偵聽(tīng)器類,該類實(shí)現(xiàn) javax.servlet.ServletContextListener接口。ServletContextListener 接口包含兩個(gè)重要方法:contextInitialized()contextDestroyed()
      • contextInitialized() 方法在初始化 servlet 上下文時(shí)獲得控制權(quán)。
      • 類似地,當(dāng)應(yīng)用程序退出時(shí),contextDestroyed() 方法會(huì)被調(diào)用,并消除 servlet 上下文。

    3. servlet 容器將 JSF 的 ConfigureListener 注冊(cè)為另一個(gè)偵聽(tīng)器。JSF 的 ConfigureListener 實(shí)現(xiàn)許多偵聽(tīng)器接口,比如 ServletContextListenerServletContextAttributeListenerServletRequestListener,以及 ServletRequestAttributeListener。您已經(jīng)看到了 ServletContextListener 接口的方法。余下的接口是:
      • ServletContextAttributeListener,它包含 3 種方法:attributeAdded() attributeRemoved()attributeReplaced()。這 3 種方法分別在某個(gè)屬性被添加到 servlet 上下文、被從 servlet 上下文刪除、被新屬性取代時(shí)獲得控制權(quán)。attributeReplaced() 方法在 處理對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求 小節(jié)的第 8 步中獲得控制權(quán)。

      • ServletRequestListener 中包含的方法在創(chuàng)建或刪除新的 servlet 請(qǐng)求對(duì)象時(shí)獲得控制權(quán)。servlet 請(qǐng)求方法表示并包裝來(lái)自用戶的請(qǐng)求。

      • ServletRequestAttributeListener 中包含的方法在添加、刪除或替換某個(gè)請(qǐng)求對(duì)象的屬性時(shí)獲得控制權(quán)。本文稍后將討論在 處理對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求 小節(jié)的第 3 步中創(chuàng)建一個(gè)新的請(qǐng)求對(duì)象時(shí),JSF 的 ConfigureListener 執(zhí)行的處理。

    4. servlet 容器創(chuàng)建一個(gè) servlet 上下文對(duì)象,該對(duì)象封裝應(yīng)用程序資源(比如 JSP 頁(yè)面、Java 類和應(yīng)用程序初始化參數(shù)),并允許整個(gè)應(yīng)用程序訪問(wèn)這些資源。JSF-Acegi 應(yīng)用程序的所有其他組件(偵聽(tīng)器、過(guò)濾器,以及 servlet)在 servlet 上下文對(duì)象中以屬性的形式存儲(chǔ)與應(yīng)用程序資源相關(guān)的信息。

    5. servlet 容器通知 Acegi 的 ContextLoaderListener,servlet 上下文是通過(guò)調(diào)用 ContextLoaderListenercontextInitializated() 方法初始化的。

    6. contextInitialized() 方法解析 Acegi 的配置文件,為 JSF-Acegi 應(yīng)用程序創(chuàng)建 Web 應(yīng)用程序上下文,以及實(shí)例化所有的安全過(guò)濾器和在 Acegi 配置文件中配置的 Jave bean。在以后 JSF 應(yīng)用程序收到來(lái)自客戶機(jī)的請(qǐng)求時(shí),這些過(guò)濾器對(duì)象將會(huì)用于身份驗(yàn)證和授權(quán)(參閱 第 3 部分 中關(guān)于 Web 應(yīng)用程序上下文創(chuàng)建的討論和圖 1)。

    7. servlet 容器通知 JSF 的 ConfigureListener,servlet 上下文是通過(guò)調(diào)用 contextInitialized() 方法初始化的。

    8. contextInitialized() 方法檢查在 JSF 配置文件中配置的所有 JSF 托管 bean,確保 Java 類與每個(gè) bean 并存。

    9. servlet 容器檢查 web.xml 文件中任何配置的過(guò)濾器。例如,清單 1 中的 web.xml 文件包含一個(gè) Acegi 過(guò)濾器 FilterToBeanProxy,servlet 容器將其實(shí)例化、初始化并注冊(cè)為一個(gè)過(guò)濾器。Acegi 現(xiàn)在可以對(duì)傳入的請(qǐng)求執(zhí)行身份驗(yàn)證和授權(quán)了。

    10. servlet 容器實(shí)例化 faces servlet,后者開(kāi)始偵聽(tīng)從用戶傳入的請(qǐng)求。

    下一節(jié)解釋 JSF-Acegi 應(yīng)用程序收到來(lái)自用戶的請(qǐng)求時(shí)發(fā)生的一系列事件。





    回頁(yè)首


    處理對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求

    您已經(jīng)了解了如何配置 Acegi 保護(hù) JSF 應(yīng)用程序。也看到了當(dāng)啟動(dòng) JSF-Acegi 應(yīng)用程序時(shí)發(fā)生的一系列事件。本節(jié)描述當(dāng)用戶發(fā)送一個(gè)對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求時(shí),JSF 和 Acegi 組件如何在 servlet 容器的框架中運(yùn)行。

    圖 2 展示了當(dāng)客戶機(jī)發(fā)送一個(gè)對(duì)受 Acegi 保護(hù)的 JSF 頁(yè)面的請(qǐng)求時(shí),發(fā)生的事件順序:


    圖 2. JSF 和 Acegi 協(xié)作提供 JSF 頁(yè)面
    JSF 和 Acegi 協(xié)作提供 JSF 頁(yè)面


    詳細(xì)來(lái)講,圖 2 展示的事件順序如下所示:

    1. servlet 容器創(chuàng)建一個(gè)表示用戶請(qǐng)求的 servlet 請(qǐng)求對(duì)象。

    2. 回想一下 啟動(dòng) JSF-Acegi 應(yīng)用程序 小節(jié)中的第 3 步,JSF 的 ConfigureListener 實(shí)現(xiàn) ServletRequestListener 接口。這意味著 ConfigureListener 偵聽(tīng)與創(chuàng)建和刪除 servlet 請(qǐng)求對(duì)象相關(guān)的事件。因此,servlet 容器調(diào)用 ConfigureListener 類的 requestInitialized() 方法。

    3. requestInitialized() 方法準(zhǔn)備執(zhí)行請(qǐng)求的 JSF 生命周期。準(zhǔn)備過(guò)程包括檢查請(qǐng)求的 faces 上下文是否存在。faces 上下文封裝與應(yīng)用程序資源相關(guān)的信息。faces servlet 執(zhí)行 JSF 生命周期時(shí)需要這些信息。如果此請(qǐng)求是新會(huì)話的第一個(gè)請(qǐng)求,就會(huì)缺少 faces 上下文。在這種情況下,requestInitialized() 方法創(chuàng)建一個(gè)新的 faces 上下文。

    4. servlet 容器檢查用戶的請(qǐng)求是否帶有任何狀態(tài)信息。如果 servlet 容器未找到狀態(tài)信息,它會(huì)假設(shè)該請(qǐng)求是新會(huì)話的第一個(gè)請(qǐng)求,并為用戶創(chuàng)建一個(gè) HTTP 會(huì)話對(duì)象。如果 servlet 容器發(fā)現(xiàn)該請(qǐng)求包含某種狀態(tài)信息(比如一個(gè) cookie 或 URL 中的某種狀態(tài)信息),它就會(huì)根據(jù)保存的會(huì)話信息恢復(fù)用戶以前的會(huì)話。

    5. servlet 容器把請(qǐng)求 URL 與一個(gè) URL 模式進(jìn)行匹配,這個(gè) URL 模式包含在配置描述符中的 <filter-mapping> 標(biāo)記的 <url-pattern> 子標(biāo)記中。如果請(qǐng)求 URL 與這個(gè) URL 模式匹配,servlet 容器調(diào)用 Acegi 的 FilterToBeanProxyFilterToBeanProxy 已在 圖 1 的第 9 步中被注冊(cè)為一個(gè) servlet 過(guò)濾器。

    6. Acegi 的 FilterToBeanProxy 使用 FilterChainProxy 類執(zhí)行 Acegi 的完整的安全過(guò)濾器鏈。Acegi 的過(guò)濾器自動(dòng)檢查第 4 步中創(chuàng)建的 HTTP 會(huì)話對(duì)象,以查看請(qǐng)求客戶機(jī)是否已被驗(yàn)證。如果 Acegi 發(fā)現(xiàn)用戶未被驗(yàn)證,它提供一個(gè)登錄頁(yè)面。否則,它就直接執(zhí)行 第 2 部分 的 “配置攔截器” 一節(jié)中描述的授權(quán)過(guò)程。

    7. Acegi 使用經(jīng)過(guò)驗(yàn)證的用戶的會(huì)話信息更新 servlet 上下文。

    8. servlet 容器通知 JSF 的 ConfigureListenerattributeReplaced() 方法,servlet 上下文已被更新。ConfigureListener 檢查是否有任何 JSF bean 被更改。如果發(fā)現(xiàn)任何更改,它相應(yīng)地更新 faces 上下文。但是,在本例中,在身份驗(yàn)證過(guò)程中 Acegi 沒(méi)有更改任何 JSF 托管 bean,因此在此調(diào)用期間 ConfigureListener 不進(jìn)行任何處理。

    9. 如果授權(quán)過(guò)程成功,控制權(quán)被轉(zhuǎn)移到 faces servlet,它執(zhí)行 JSF 生命周期并向用戶發(fā)回一個(gè)響應(yīng)。

    現(xiàn)在,您了解了 JSF 和 Acegi 如何協(xié)作提供 JSF 請(qǐng)求,接下來(lái)看一下完成后的 JSF 和 Acegi。





    回頁(yè)首


    示例 JSF-Acegi 應(yīng)用程序

    本文的下載部分(參見(jiàn) 下載)包含一個(gè)示例 JSF-Acegi 應(yīng)用程序 JSFAcegiSample,演示了 Acegi 與 JSF 的簡(jiǎn)單集成。示例應(yīng)用程序使用 清單 1 中的 web.xml。

    要部署示例應(yīng)用程序,執(zhí)行 第 1 部分 的 “部署并運(yùn)行應(yīng)用程序” 一節(jié)中的兩個(gè)步驟。還需要從 Sun 的 JSF 站點(diǎn)(參見(jiàn) 參考資料)下載并解壓 jsf-1_1_01.zip。將 jsf-1.1.X.zip 中的所有文件復(fù)制到 JSFAcegiSample 應(yīng)用程序的 WEB-INF/lib 文件夾中。

    從瀏覽器訪問(wèn) http://localhost:8080/JSFAcegiSample,可以調(diào)用示例應(yīng)用程序。JSFAcegiSample 應(yīng)用程序顯示一個(gè)索引頁(yè)面和一個(gè)登錄頁(yè)面,索引頁(yè)面中包含受保護(hù)資源的鏈接。所有受保護(hù)頁(yè)面都是使用 JSF 組件開(kāi)發(fā)的,而 Acegi 提供登錄頁(yè)面并執(zhí)行身份驗(yàn)證和授權(quán)。





    結(jié)束語(yǔ)

    在本文中,了解了如何配置 Acegi 以保護(hù) JSF 應(yīng)用程序。還詳細(xì)了解了 JSF 和 Acegi 組件如何在一個(gè) servlet 容器的框架中協(xié)作。最后,嘗試運(yùn)行了一個(gè)示例 JSF-Acegi 應(yīng)用程序。

    關(guān)于實(shí)現(xiàn) JSF 應(yīng)用程序的 Acegi 安全性,還涉及到更多內(nèi)容。本系列的下一篇文章將演示如何使用 Acegi 保護(hù)對(duì) JSF 的托管 bean 的訪問(wèn)。


    來(lái)自: http://www.cnblogs.com/amboyna/archive/2008/03/25/1122089.html

    posted @ 2008-05-08 18:50 狼愛(ài)上貍 閱讀(296) | 評(píng)論 (0)編輯 收藏

    acegi,IBM的Acegi Security System(3)

    2007 年 10 月 18 日

    本文是 Acegi Security Systerm 介紹的最后一部分(共三部分),Bilal Siddiqui 將向您介紹如何保護(hù)對(duì) Java 類實(shí)例的訪問(wèn),從而結(jié)束本系列文章。通過(guò)本文了解為何需要對(duì) Java™ 類的訪問(wèn)進(jìn)行保護(hù),Spring 如何創(chuàng)建和保護(hù)對(duì) Java 類實(shí)例的訪問(wèn)以及如何對(duì) Acegi 進(jìn)行配置以實(shí)現(xiàn) Java 應(yīng)用程序的類安全性。

    這期共分三部分的系列文章介紹了如何使用 Acegi 安全系統(tǒng)保護(hù) Java 企業(yè)應(yīng)用程序。系列文章的 第 1 部分 簡(jiǎn)單介紹了 Acegi 并解釋如何使用其內(nèi)置的安全過(guò)濾器實(shí)現(xiàn)一個(gè)簡(jiǎn)單的、基于 URL 的安全系統(tǒng)。第 2 部分 介紹了如何編寫(xiě)訪問(wèn)控制策略并將其保存到一個(gè) LDAP 目錄服務(wù)器,以及如何配置 Acegi 來(lái)與目錄服務(wù)器進(jìn)行交互,從而實(shí)現(xiàn)訪問(wèn)控制策略。第 3 部分(也是本系列的最后一篇文章)將演示如何在企業(yè)應(yīng)用程序中使用 Acegi 保護(hù)對(duì) Java 類實(shí)例的訪問(wèn)。

    首先我將介紹何時(shí)需要對(duì) Java 類訪問(wèn)進(jìn)行保護(hù),包括文中引用的兩個(gè)典型企業(yè)應(yīng)用程序場(chǎng)景。之后,我將解釋 Spring 的反轉(zhuǎn)控制(IOC)框架如何創(chuàng)建可從 JSP 或 servlet 訪問(wèn)的 Java 類實(shí)例。我還將介紹有關(guān) bean 代理 的重要概念,Spring 正是使用它過(guò)濾對(duì) Java 類的訪問(wèn)。最后,我將介紹如何對(duì) Acegi 的方法安全性攔截器進(jìn)行配置以控制對(duì) Java 類的訪問(wèn)。我將對(duì) 第 2 部分 中的示例程序進(jìn)行增強(qiáng),為實(shí)現(xiàn)安全的 Java 對(duì)象提供支持,從而結(jié)束本系列的最后一篇文章。

    由于本文的討論構(gòu)建在本系列前兩部分的內(nèi)容之上,因此會(huì)經(jīng)常引用到 第 1 部分第 2 部分 中的討論和示例。因此,在繼續(xù)閱讀本文之前,在其他瀏覽器窗口中打開(kāi)前兩期文章將有助于理解本文內(nèi)容。

    保護(hù) Java 類的用例

    您可能還記得,我曾在本系列的開(kāi)頭部分簡(jiǎn)單介紹了 企業(yè)應(yīng)用程序安全性。在那次討論中我曾提到過(guò)一種場(chǎng)景,其中 URL 安全性并不能完全滿足這種場(chǎng)景的安全需求:

    假設(shè)有這樣一個(gè) PDF 文檔,其中包含了某制造業(yè)公司生產(chǎn)的特定產(chǎn)品的數(shù)據(jù)。文檔的一部分包含了設(shè)計(jì)數(shù)據(jù),將由公司設(shè)計(jì)部分進(jìn)行編輯和更新。文檔另一部分包含生產(chǎn)經(jīng)理將使用到的生產(chǎn)數(shù)據(jù)。對(duì)于此類場(chǎng)景,需要實(shí)現(xiàn)更加細(xì)粒度的安全性,對(duì)文檔的不同部分應(yīng)用不同的訪問(wèn)權(quán)限。

    在繼續(xù)閱讀之前,請(qǐng)考慮更多的應(yīng)用程序場(chǎng)景,除了實(shí)現(xiàn) URL 安全性以外,這些場(chǎng)景還要求您對(duì)單獨(dú)的類訪問(wèn)進(jìn)行保護(hù)。

    業(yè)務(wù)自動(dòng)化

    業(yè)務(wù)自動(dòng)化應(yīng)用程序中的工作流由多個(gè)流程組成。例如,病理學(xué)實(shí)驗(yàn)室中執(zhí)行血液測(cè)試的工作流由若干個(gè)步驟組成,其中每個(gè)步驟可看作一個(gè)業(yè)務(wù)流程:

    1. 工作人員從病人處采集血液樣本并為其分配一個(gè) ID。
    2. 實(shí)驗(yàn)室技術(shù)人員對(duì)樣本進(jìn)行必要的測(cè)試并準(zhǔn)備測(cè)試結(jié)果。
    3. 由具備相應(yīng)資格的病理學(xué)專家根據(jù)測(cè)試結(jié)果編寫(xiě)測(cè)試報(bào)告。

    很明顯,每個(gè)流程分別由單獨(dú)的授權(quán)用戶執(zhí)行。未授權(quán)的用戶則無(wú)權(quán)執(zhí)行流程。例如,實(shí)驗(yàn)室研究人員只負(fù)責(zé)準(zhǔn)備試驗(yàn)結(jié)果,而無(wú)權(quán)編寫(xiě)測(cè)試報(bào)告。

    幾乎所有的業(yè)務(wù)自動(dòng)化應(yīng)用程序都普遍使用授權(quán)的業(yè)務(wù)流程。通常,每個(gè)業(yè)務(wù)流程被實(shí)現(xiàn)為一個(gè) Java 類,并且需要使用合適的訪問(wèn)控制策略對(duì)所有類實(shí)施保護(hù)。

    企業(yè)對(duì)企業(yè)(Business-to-business)集成

    Business-to-business (B2B) 集成指一種常見(jiàn)的場(chǎng)景,其中的兩個(gè)企業(yè)實(shí)體需要彼此公開(kāi)各自的特定功能。例如,賓館可能向旅游公司公開(kāi)其房間預(yù)訂功能,而后者使用該功能為游客預(yù)訂空閑的房間。作為合作伙伴的旅游公司可能具有一個(gè)特定的訂房率。在這個(gè)場(chǎng)景中,賓館的訂房系統(tǒng)必須先對(duì)旅游公司進(jìn)行身份驗(yàn)證,然后才能允許他們?cè)L問(wèn)所選擇的類,以便按照特定的訂房率進(jìn)行房間預(yù)訂。





    回頁(yè)首


    使用 Spring 創(chuàng)建 Java 對(duì)象

    現(xiàn)在您已經(jīng)了解了對(duì) Java 類示例的訪問(wèn)進(jìn)行保護(hù)的重要性。在介紹能夠?qū)崿F(xiàn)更高級(jí)安全性的 Acegi 新功能之前,我將引導(dǎo)您回顧 Spring 框架的幾個(gè)關(guān)鍵特性,您需要了解這些內(nèi)容才能繼續(xù)后文的示例。

    首先對(duì)一些 Java 類進(jìn)行配置并執(zhí)行實(shí)例化。第 1 部分 曾介紹過(guò),Java 類在 Spring 的 XML 配置文件中進(jìn)行配置。在 Spring 配置文件中配置 Java 類的過(guò)程與 Acegi 過(guò)濾器的配置過(guò)程完全相同,因此這里不多做介紹。相反,我們將查看清單 1,它展示了名為 publicCatalog 的 bean 的配置:


    清單 1. Acegi XML 配置文件
                <beans>
                <bean id="publicCatalog"
                class="com.catalog.PublicCatalog" />
                <!--Other bean tags -->
                <beans>
                

    了解 Spring 的 IOC 框架如何從 XML 配置文件讀取 Java 類信息以及如何進(jìn)行實(shí)例化,這一點(diǎn)非常重要。您可能還記得,我在系列文章的 第 1 部分 中使用一個(gè) web.xml 文件配置 <listener> 標(biāo)記,它指向名為 ContextLoaderListener 的類。ContextLoaderListener 裝載 Spring 的 IOC 框架并創(chuàng)建 Java 對(duì)象。您可以參考 第 1 部分的清單 8 查看全部?jī)?nèi)容。圖 1 也對(duì)此進(jìn)行了描述:


    圖 1. 裝載 Spring 的 IOC 框架并創(chuàng)建 Java 對(duì)象
    裝載 Spring 的 IOC 框架并創(chuàng)建 Java 對(duì)象的步驟

    現(xiàn)在我們將詳細(xì)討論這些步驟:

    1. 當(dāng)初始化 Acegi 應(yīng)用程序時(shí),servlet 容器(本例中為 Apache Tomcat)創(chuàng)建了一個(gè) servlet 上下文,其中保存了有關(guān)應(yīng)用程序資源的信息,例如 JSP 頁(yè)面和類。

    2. servlet 容器通知 ContextLoaderListener 類應(yīng)用程序正在啟動(dòng)。

    3. ContextLoaderListener 類創(chuàng)建一個(gè) Web 應(yīng)用程序上下文以保存應(yīng)用程序中特定于 Spring 的資源信息。借助 Spring 的 IOC 框架,您可以裝載自己的自定義應(yīng)用程序上下文。要?jiǎng)?chuàng)建應(yīng)用程序上下文,將使用名為 ContextLoader 的上下文裝載器類裝載應(yīng)用程序上下文。

    4. 如果應(yīng)用程序不需要定義自己的應(yīng)用程序上下文,則可以使用名為 XMLWebApplicationContext 的類,它是 Spring 框架的一部分并提供可處理 Spring XML 配置文件的功能。Acegi 應(yīng)用程序使用的是 Spring 的 XML 配置文件,因此本文僅討論由 XMLWebApplicationContext 類表示的應(yīng)用程序上下文。在本例中,上下文裝載器對(duì) XMLWebApplicationContext 類進(jìn)行實(shí)例化,后者表示您的 Acegi 應(yīng)用程序的應(yīng)用程序上下文。上下文裝載器還在 Web 應(yīng)用程序上下文中設(shè)置 servlet 上下文(于步驟 1 中創(chuàng)建)的引用。

    5. XMLWebApplicationContext 類對(duì) XML 配置文件進(jìn)行解析,獲得關(guān)于 Java 類的信息并將信息裝載到其他內(nèi)部對(duì)象中。

    6. XMLWebApplicationContext 類對(duì) XML 配置文件中指定的所有 Java 類進(jìn)行實(shí)例化。XMLWebApplicationContext 類檢查 XML 配置文件中經(jīng)過(guò)配置的 Java bean 是否依賴其他的 Java 對(duì)象。如果是的話,XMLWebApplicationContext 類將首先對(duì)其他 bean 所依賴的 bean 進(jìn)行實(shí)例化。通過(guò)這種方式,XMLWebApplicationContext 類創(chuàng)建了 XML 配置文件中定義的所有 bean 的實(shí)例。(注意,步驟 6 假定 XML 配置文件中所有 bean 都不要進(jìn)行保護(hù),稍后一節(jié)將介紹步驟 5 和步驟 6 之間執(zhí)行的額外步驟,從而保護(hù)對(duì)此處創(chuàng)建的 Java bean 的訪問(wèn))。

    7. XMLWebApplicationContext 類將所有 bean 保存在一個(gè)數(shù)組中。

    您現(xiàn)在已了解到如何從 XML 配置文件中裝載 bean 定義并創(chuàng)建 Java 類的實(shí)例。接下來(lái),我將向您介紹 Spring bean 代理并解釋它對(duì)于保護(hù) Java 類實(shí)例的重要性。





    回頁(yè)首


    使用 bean 代理

    上一節(jié)討論了 Spring 的 IOC 框架對(duì) Java 對(duì)象進(jìn)行實(shí)例化。要保護(hù)對(duì) Java 對(duì)象的訪問(wèn),Spring 的 IOC 框架使用了 bean 代理 的概念。本節(jié)首先介紹如何配置 bean 代理,然后演示 Spring 的 IOC 框架如何創(chuàng)建代理對(duì)象。

    為 Java 對(duì)象配置代理

    如果希望創(chuàng)建 bean 代理,Spring IOC 框架要求您對(duì)代理創(chuàng)建器 bean 的實(shí)例進(jìn)行配置。Spring 的 IOC 框架使用代理創(chuàng)建器創(chuàng)建代理對(duì)象。清單 2 為代理創(chuàng)建器 bean 的配置文件,用于保護(hù)名為 privateCatalog 的 Java 對(duì)象:


    清單 2. 代理 bean 配置
                <bean id="proxyCreator"
                class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
                <property name="beanNames">
                <list>
                <value>privateCatalog</value>
                <!--Names of other beans to be proxied -->
                </list>
                </property>
                <property name="interceptorNames">
                <list>
                <value>privateCatalogSecurityInterceptor</value>
                </list>
                </property>
                </bean>
                

    如清單 2 所示,<bean> 標(biāo)記具有一個(gè) class 屬性,其值為 org.springframework.aop.framework.autoproxy. BeanNameAutoProxyCreatorBeanNameAutoProxyCreator 類是 Spring IOC 框架的一部分,可以自動(dòng)創(chuàng)建 bean 代理。Spring 框架提供了 BeanPostProcessor 接口,它提供了一種可擴(kuò)展機(jī)制,允許應(yīng)用程序編寫(xiě)自己的邏輯來(lái)創(chuàng)建 bean 代理。Spring 的 BeanNameAutoProxyCreator 類實(shí)現(xiàn)了 BeanPostProcessor 接口并提供所有必需的代理創(chuàng)建邏輯來(lái)保護(hù) Java 類。因此,本文中您無(wú)需實(shí)現(xiàn) BeanPostProcessor 接口。

    在創(chuàng)建 bean 代理時(shí),BeanNameAutoProxyCreator 類為所有由 beanNames 屬性定義的 bean 創(chuàng)建代理(參見(jiàn) 清單 2<bean> 標(biāo)記的第一個(gè) <property> 子元素)。beanNames 屬性在 <list> 標(biāo)記中包含一個(gè) bean 名稱列表。在 清單 2 中,我只對(duì)希望為之創(chuàng)建代理的 privateCatalog bean進(jìn)行了配置。

    現(xiàn)在查看 清單 2<bean> 標(biāo)記的第二個(gè) <property> 子元素。它指定了名為 interceptorNames 的代理,它將一個(gè)或多個(gè)攔截器的名稱封裝起來(lái)。我將在后文詳細(xì)討論攔截器概念。現(xiàn)在,只需了解攔截器可以攔截用戶并在用戶訪問(wèn) bean 之前實(shí)現(xiàn)訪問(wèn)控制策略。

    現(xiàn)在,您已了解了如何對(duì)希望進(jìn)行保護(hù)的 bean 配置代理。接下來(lái),您將了解 Spring 的 IOC 框架如何在內(nèi)部為應(yīng)用程序的 bean 創(chuàng)建代理對(duì)象。

    Spring IOC 發(fā)揮效用

    在 “使用 Spring 創(chuàng)建 Java 對(duì)象” 的步驟 5 和步驟 6 中,您了解了 XMLWebApplicationContext 類如何從 XML 配置文件中讀取 bean 定義并隨后創(chuàng)建 bean 實(shí)例。在創(chuàng)建 bean 實(shí)例之前,XMLWebApplicationContext 類將檢查 XML 配置文件是否包含任何代理創(chuàng)建器 bean(即實(shí)現(xiàn) BeanPostProcessor 接口的 bean)配置。如果存在該 bean,它將要求代理創(chuàng)建器為您希望進(jìn)行保護(hù)的 bean 創(chuàng)建 bean 代理。

    現(xiàn)在考慮代理創(chuàng)建器如何在內(nèi)部創(chuàng)建代理對(duì)象:

    1. 代理創(chuàng)建器(即 BeanNameAutoProxyCreator 類)裝載 清單 2 中配置的 beanNames 屬性文件中指定的所有 bean 名稱。

    2. 代理創(chuàng)建器使用 bean 名稱裝載各自的 Java 類,這些類使用了每個(gè) bean 定義的 class 屬性。

    3. 代理創(chuàng)建器創(chuàng)建 清單 2 所示的 interceptorNames 屬性中指定的攔截器的實(shí)例。

    4. 最后,代理創(chuàng)建器創(chuàng)建一個(gè) Cglib2AopProxy 類的實(shí)例,將所有 bean 名稱(步驟 2)和攔截器(步驟 3)傳遞到 Cglib2AopProxy 類。Cglib2AopProxy 類是 Spring 框架的一部分并用于生成動(dòng)態(tài)代理對(duì)象。在本例中,Cglib2AopProxy 類將創(chuàng)建安全 bean 訪問(wèn)控制所需的代理對(duì)象。

    Cglib2AopProxy 類實(shí)現(xiàn)了兩個(gè)名為 AOPProxyMethodInterceptor 的接口。AOPProxy 接口由 Spring 框架提供,表示您希望進(jìn)行代理的實(shí)際 bean,因此它與您的 bean 公開(kāi)相同的方法。MethodInterceptor 接口也源于 AOP 框架,它包含的方法可以在用戶試圖訪問(wèn)您已執(zhí)行代理的 bean 時(shí)接受控制權(quán)。這意味著 MethodInterceptor 接口處理來(lái)自用戶的請(qǐng)求以訪問(wèn)執(zhí)行過(guò)代理的 bean。由于 Cglib2AopProxy 類同時(shí)實(shí)現(xiàn)了 AOPProxyMethodInterceptor 接口,因此它提供了完整的功能,既可以提供經(jīng)過(guò)代理的 bean,也可以處理用戶請(qǐng)求以訪問(wèn)代理 bean(參見(jiàn) 參考資料小節(jié) 中有關(guān) AOP 的討論文章的鏈接)。

    執(zhí)行完前面的步驟后,您現(xiàn)在具有了所需的代理對(duì)象。因此 XMLWebApplicationContext 類將安全 bean 的代理(而不是實(shí)際的 bean)保存在 “使用 Spring 創(chuàng)建 Java 對(duì)象” 的步驟 7 中的同一個(gè)數(shù)組中。





    回頁(yè)首


    訪問(wèn)執(zhí)行過(guò)代理的 Java 對(duì)象

    在前面的幾節(jié)中,您了解了 Spring 如何創(chuàng)建公有 bean 和私有 bean。出于本文的目的,您可將公有 bean 視為使用代理保護(hù)的不安全的私有 bean。現(xiàn)在我們來(lái)看一下客戶機(jī)應(yīng)用程序?yàn)樵L問(wèn)公有 bean 和私有 bean 而必須遵循的一系列步驟。

    清單 3 展示了 publicCatalogprivateCatalog 兩個(gè) bean 的 XML 配置。publicCatalog bean 意味著公共訪問(wèn),因此不需要使用 bean 代理。privateCatalog bean 意味著只能由指定用戶訪問(wèn),因此必須加以保護(hù)。我在清單 3 中包含了 privateCatalog bean 的 bean 代理配置:


    清單 3. publicCatalog 和 privateCatalog bean 的 XML 配置
                <beans>
                <bean id="publicCatalog" class="sample.PublicCatalog"/>
                <bean id="privateCatalog" class="sample.PrivateCatalog"/>
                <!-- proxy configuration for privateCatalog bean -->
                <bean id="proxyCreator"
                class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
                <property name="beanNames">
                <list>
                <value>privateCatalog</value>
                <!--Names of other beans to be proxied -->
                </list>
                </property>
                <property name="interceptorNames">
                <list>
                <value>privateCatalogSecurityInterceptor</value>
                </list>
                </property>
                </bean>
                <beans>
                

    應(yīng)用程序可以使用清單 4 中的代碼訪問(wèn)清單 3 中配置的 publicCatalogprivateCatalog Java bean。注意,清單 4 中顯示的 Java 代碼可位于 JSP 頁(yè)面或位于服務(wù)器端 Java 應(yīng)用程序的 bean 中。


    清單 4. 訪問(wèn)安全和不安全 Java bean 的客戶機(jī)應(yīng)用程序代碼
                //Step 1: Fetching an instance of the application context
                XMLWebApplicationContext applicationCtx =
                WebApplicationContextUtils.getWebApplicationContext(
                this.getServletConfig().getServletContext());
                //Step 2: Fetching an insecure bean from the application context
                PublicCatalog publicCatalog =
                (PublicCatalog) applicationCtx.getBean("publicCatalog");
                //Step 3: Calling a method of the insecure bean
                String publicData = publicCatalog.getData();
                //Step 4: Fetching a secure bean from the application context
                PrivateCatalog privateCatalog =
                (PrivateCatalog) applicationCtx.getBean("privateCatalog");
                //Step 5: Calling a method of the secure bean
                String privateData = privateCatalog.getData();
                

    下面將進(jìn)一步討論清單 4 中的步驟:

    • 步驟 1:取回一個(gè)應(yīng)用程序上下文實(shí)例
      當(dāng)應(yīng)用程序希望訪問(wèn) XML 配置文件中配置的 Java bean 時(shí),它必須取回您在 “使用 Spring 創(chuàng)建 Java 對(duì)象” 的步驟 4 中見(jiàn)到的 XMLWebApplicationContext 對(duì)象。XMLWebApplicationContext 對(duì)象包含對(duì) XML 配置文件配置的所有 Java beans 的引用。

    • 步驟 2:從應(yīng)用程序上下文中取回不安全的 bean
      您現(xiàn)在具有一個(gè)對(duì) XMLWebApplicationContext 對(duì)象的引用。XMLWebApplicationContext 類公開(kāi)了一個(gè) getBean() 方法,它包含 bean 的名稱并在數(shù)組中查找 “使用 Spring 創(chuàng)建 Java 對(duì)象” 步驟 7 中準(zhǔn)備的 bean。在本例中,該 bean 為 publicCatalog(未執(zhí)行過(guò)代理),因此 XMLWebApplicationContext 將返回實(shí)際的 bean。

    • 步驟 3:調(diào)用不安全 bean 的方法
      現(xiàn)在您可以調(diào)用步驟 2 中獲得的 publicCatalog bean 的任何方法。例如,清單 4 顯示的 getData() 方法調(diào)用的執(zhí)行沒(méi)有應(yīng)用任何訪問(wèn)控制并向應(yīng)用程序返回類別數(shù)據(jù)。

    • 步驟 4:從應(yīng)用程序上下文取回安全 bean
      安全 bean 與不安全 bean 的取回方式類似,惟一區(qū)別是:當(dāng)您通過(guò)調(diào)用 getBean() 方法嘗試取回安全 bean 時(shí),您將獲得安全對(duì)象的代理而不是實(shí)際的對(duì)象。該代理就是我在 “Spring IOC 發(fā)揮效用” 步驟 4 中解釋的由 Spring 框架創(chuàng)建的同一個(gè)對(duì)象。

    • 步驟 5:調(diào)用安全 bean 的方法
      當(dāng)調(diào)用安全 bean 的方法時(shí),您在 步驟 4 中獲得的代理對(duì)象將一個(gè)方法調(diào)用請(qǐng)求分配給攔截器。攔截器將檢查試圖訪問(wèn)方法的用戶是否具有相應(yīng)的訪問(wèn)權(quán),從而處理方法調(diào)用請(qǐng)求。

    您現(xiàn)在應(yīng)該對(duì) Spring 框架如何創(chuàng)建 Java 對(duì)象以及客戶機(jī)應(yīng)用程序如何與之交互有了清晰的了解。了解了這些內(nèi)容后,就更加容易理解并利用 Acegi 的方法安全性攔截器,下一節(jié)將具體介紹該主題。





    回頁(yè)首


    配置 Acegi 的方法安全性攔截器

    只要應(yīng)用程序試圖訪問(wèn)由 Acegi 安全系統(tǒng)保護(hù)的 bean 方法,請(qǐng)求將被自動(dòng)傳遞到 Acegi 的方法安全性攔截器。方法安全性攔截器的作用就是控制對(duì)安全 Java bean 的方法的訪問(wèn)。攔截器使用 Acegi 的身份驗(yàn)證和授權(quán)框架確認(rèn)用戶是否具有權(quán)利調(diào)用安全 Java bean 的方法,然后相應(yīng)地作出響應(yīng)。

    清單 5 展示 Acegi 的方法安全性攔截器的示例配置:


    清單 5. Acegi 的方法安全性攔截器的示例配置
                <bean id="privateCatalogSecurityInterceptor"
                class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
                <property name="authenticationManager">
                <ref bean="authenticationManager"/>
                </property>
                <property name="accessDecisionManager">
                <ref bean="accessDecisionManager"/>
                </property>
                <property name="objectDefinitionSource">
                <value>
                sample.PrivateCatalog.getData=ROLE_HEAD_OF_ENGINEERING
                <!-- Roles required by other beans -->
                </value>
                </property>
                </bean>
                

    清單 5 所示的攔截器配置包含三個(gè)需要進(jìn)行配置的屬性,可以保護(hù)對(duì) Java bean 的訪問(wèn):authenticationManageraccessDecisionManagerobjectDefinitionSource

    回憶一下,您在本系列第 1 部分的 配置身份驗(yàn)證處理過(guò)濾器 中曾對(duì) authenticationManager 屬性進(jìn)行了配置。authenticationManager 屬性的作用是對(duì)用戶進(jìn)行身份驗(yàn)證。

    您在本系列的第二篇文章中了解了 accessDecisionManager 屬性。這個(gè)訪問(wèn)決策管理器負(fù)責(zé)制定授權(quán)決策。在允許對(duì)一個(gè)安全 bean 進(jìn)行訪問(wèn)之前,方法安全攔截器使用 authenticationManageraccessDecisionManager 屬性對(duì)用戶進(jìn)行身份驗(yàn)證和授權(quán)。

    現(xiàn)在查看 清單 5 中配置的 objectDefinitionSource 屬性。它類似于第 1 部分中出現(xiàn)的 objectDefinitionSource 屬性。以前的 objectDefinitionSource 包含類似于 /protected/*/** 這樣的 URL,清單 5 中的 objectDefinitionSource 屬性指定類和方法名;例如,sample.PrivateCatalog 是之前執(zhí)行過(guò)代理的類的名稱,而 getData 是您希望對(duì)其控制用戶訪問(wèn)的方法的名字。

    當(dāng)用戶訪問(wèn) PrivateCatalog bean 的 getData() 方法時(shí),控制權(quán)將自動(dòng)傳遞給攔截器。攔截器使用 Acegi 框架檢查用戶的業(yè)務(wù)角色是否為 ROLE_HEAD_OF_ENGINEERING(特定于本文的示例)。如果是的話,攔截器將允許對(duì) getData() 方法進(jìn)行訪問(wèn)。如果攔截器發(fā)現(xiàn)用戶角色不是 ROLE_HEAD_OF_ENGINEERING,則拒絕訪問(wèn)。

    下一節(jié)將查看一個(gè)示例 Acegi 應(yīng)用程序,它將實(shí)現(xiàn)您目前所了解的所有概念。





    回頁(yè)首


    示例 Acegi 應(yīng)用程序

    本文的 下載源代碼 包含了一個(gè)名為 AcegiMethodSecurity 的示例應(yīng)用程序,可按照以下方法進(jìn)行配置和部署:

    1. 使用用戶信息填充 LDAP 服務(wù)器。下載的示例應(yīng)用程序 包含一個(gè) LDIF 文件,其中含有預(yù)備裝載到 LDAP 服務(wù)器的用戶信息。關(guān)于如何將 LDIF 文件導(dǎo)入到 LDAP 服務(wù)器,請(qǐng)參考第 2 部分的 “填充服務(wù)器” 一節(jié)。注意,該應(yīng)用程序涉及與第 2 部分相同的用戶(alicebobspecialUser)。

    2. 將本文下載源代碼中的 acegiMethodSecurity.war 文件復(fù)制到 Tomcat 安裝目錄中的 webapps 目錄。

    3. 將 Acegi 的 jar 文件復(fù)制到示例應(yīng)用程序的 WEB-INF/lib 文件夾。(有關(guān)內(nèi)容請(qǐng)參考第 1 部分的 “部署和運(yùn)行應(yīng)用程序” 一節(jié)。 )

    4. 下載 cglib-full-2.0.2.jar 文件并將其復(fù)制到示例應(yīng)用程序的 WEB-INF/lib 文件夾。

    啟動(dòng) Tomcat 并嘗試運(yùn)行示例應(yīng)用程序。

    運(yùn)行示例應(yīng)用程序

    通過(guò)從瀏覽器訪問(wèn) http://localhost:8080/acegiMethodSecurity URL 可調(diào)用示例應(yīng)用程序。AcegiMethodSecurity 顯示的索引頁(yè)面包含兩個(gè)鏈接(CatalogLogin),如圖 2 所示:


    圖 2. 示例應(yīng)用程序的主頁(yè)面
    示例應(yīng)用程序的主頁(yè)面

    當(dāng)單擊應(yīng)用程序的 Catalog 鏈接時(shí),它將要求您進(jìn)行登錄。如果以 alicespecialUser 的身份進(jìn)行登錄,示例應(yīng)用程序?qū)⑻峁?em>完整的 類別,包括公有數(shù)據(jù)和私有數(shù)據(jù)。這是因?yàn)樵?清單 5 中,您對(duì)方法安全性攔截器進(jìn)行了配置,允許用戶使用 ROLE_HEAD_OF_ENGINEERING 訪問(wèn)私有類別,而 alicespecialUser 都具有該訪問(wèn)權(quán)。另一方面,如果您以 bob 的身份登錄,示例應(yīng)用程序?qū)H顯示公有數(shù)據(jù)。





    回頁(yè)首


    為通過(guò)身份驗(yàn)證的用戶分配額外角色

    本節(jié)將演示經(jīng)過(guò)增強(qiáng)的示例應(yīng)用程序。增強(qiáng)后的示例應(yīng)用程序?qū)⒄故?Acegi 如何使您能夠在運(yùn)行時(shí)向通過(guò)身份驗(yàn)證的用戶臨時(shí)分配額外角色。

    當(dāng)安全 bean(例如 清單 3privateCatalog bean)要訪問(wèn)一個(gè)原創(chuàng)資源時(shí),您可能需要使用額外的角色。例如,您可能考慮到您的安全 bean 需要通過(guò) Java 的 Remote Method Invocation (RMI) 框架或一個(gè) Web 服務(wù)訪問(wèn)某個(gè)遠(yuǎn)程應(yīng)用程序。訪問(wèn)安全 bean 的用戶不會(huì)占用遠(yuǎn)程應(yīng)用程序要求訪問(wèn)用戶所具備的業(yè)務(wù)角色。

    在本例中,Acegi 首先檢查用戶是否經(jīng)過(guò)授權(quán)來(lái)訪問(wèn)安全 bean。之后,Acegi 允許用戶訪問(wèn)安全 bean。當(dāng)安全 bean 試圖訪問(wèn)遠(yuǎn)程服務(wù)時(shí),它需要使用額外的業(yè)務(wù)角色。如果訪問(wèn)安全 bean 的用戶不具備額外角色,安全 bean 就不能成功訪問(wèn)遠(yuǎn)程服務(wù)。

    run-as-replacement 機(jī)制

    Acegi 框架提供了一種名為 run-as-replacement 的簡(jiǎn)單機(jī)制,允許您僅在方法調(diào)用期間為通過(guò)身份驗(yàn)證的用戶配置一個(gè)或多個(gè)額外角色。您可以使用 run-as-replacement 機(jī)制為訪問(wèn)遠(yuǎn)程應(yīng)用程序的安全 bean 配置額外角色。這意味著只要安全 bean 需要訪問(wèn)遠(yuǎn)程應(yīng)用程序,Acegi 將為用戶裝載額外角色,從而允許安全 bean 訪問(wèn)遠(yuǎn)程應(yīng)用程序。

    清單 6 對(duì) 清單 5 中的方法安全性攔截器的配置進(jìn)行了增強(qiáng)。增強(qiáng)后的配置使用了 run-as-replacement 機(jī)制。


    清單 6. Acegi 方法安全性攔截器的增強(qiáng)配置
                <bean id="privateCatalogSecurityInterceptor"
                class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
                <property name="authenticationManager">
                <ref bean="authenticationManager"/>
                </property>
                <property name="accessDecisionManager">
                <ref bean="accessDecisionManager"/>
                </property>
                <property name="runAsManager">
                
    <bean id="runAsManager" class="org.acegisecurity.runas.RunAsManagerImpl">
    <property name="key"> <value>myKeyPass</value> </property> </bean> </property> <property name="objectDefinitionSource"> <value> sample.PrivateCatalog.getData=ROLE_HEAD_OF_ENGINEERING,RUN_AS_MANAGER </value> </property> </bean>

    清單 6 使用粗體顯示了兩處增強(qiáng)(與 清單 5 相比)。第一處增強(qiáng)為 runAsManager 屬性。runAsManager 屬性的作用是向通過(guò)身份驗(yàn)證的用戶動(dòng)態(tài)添加角色。出于這個(gè)目的,runAsManager 屬性包含了 RunAsManagerImpl bean 的定義。RunAsManagerImpl bean 只有在滿足下面的條件時(shí)才可變?yōu)榛钴S狀態(tài):在 objectDefinitionSource 方法的角色定義中找到以 RUN_AS_ 為前綴的角色。例如,PrivateCatalog.getData() 方法的角色定義(清單 6 中以粗體顯示的第二處增強(qiáng))具有一個(gè) RUN_AS_MANAGER 角色。

    RunAsManagerImpl bean 包含一個(gè)名為 key 的屬性,它封裝的加密鍵用于確保只將額外的角色作為 run-as-replacement 程序的一部分生成。

    當(dāng)用戶調(diào)用 getData() 方法時(shí),RunAsManagerImpl bean 變?yōu)榛钴S狀態(tài)并創(chuàng)建名為 RUN_AS_MANAGER 的額外角色,從而啟用 getData() 方法訪問(wèn)遠(yuǎn)程應(yīng)用程序。

    增強(qiáng)的方法安全性

    本文的 下載源代碼 包含一個(gè)名為 EnhancedAcegiMethodSecurity 的示例應(yīng)用程序,它可以演示 run-as-replacement 機(jī)制和程序。該應(yīng)用程序?qū)@示一個(gè)具有 Catalog 鏈接的索引頁(yè)面。如果單擊 Catalog 鏈接,將要求進(jìn)行登錄。

    登錄后,EnhancedAcegiMethodSecurity 應(yīng)用程序?qū)槟峁┑卿浻脩艏捌浣巧耐暾畔ⅰ@纾绻?alicespecialUser 身份登錄,將向您顯示用戶的所有業(yè)務(wù)角色,包括額外創(chuàng)建的臨時(shí)的 RUN_AS_MANAGER 角色。

    結(jié)束語(yǔ)

    在這份共分三部分的系列文章中,我介紹了如何使用 Acegi 安全系統(tǒng)增強(qiáng)基于 URL 的安全性和基于方法的安全性。您了解了如何設(shè)計(jì)訪問(wèn)控制策略并將它們托管在目錄服務(wù)器中,如何對(duì) Acegi 進(jìn)行配置以與目錄服務(wù)器進(jìn)行通信,以及如何根據(jù)托管在服務(wù)器的訪問(wèn)控制策略制定身份驗(yàn)證和授權(quán)決策。

    本系列的最后一篇文章主要介紹使用基于方法的安全性保護(hù) Java 類實(shí)例。文章還解釋了 Acegi 和 Spring 如何在內(nèi)部創(chuàng)建和代理 Java 對(duì)象以及 bean 代理如何實(shí)現(xiàn)訪問(wèn)控制。文章包含了兩個(gè)示例應(yīng)用程序,您可以使用它們進(jìn)一步研究本系列中學(xué)到的概念,更多有關(guān)使用 Acegi 保護(hù) Java 應(yīng)用程序的內(nèi)容,請(qǐng)參見(jiàn) 參考資料 小節(jié)。



    來(lái)自:http://www-128.ibm.com/developerworks/cn/java/j-acegi3/?

    posted @ 2008-05-08 18:47 狼愛(ài)上貍 閱讀(416) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共38頁(yè): First 上一頁(yè) 18 19 20 21 22 23 24 25 26 下一頁(yè) Last 
    主站蜘蛛池模板: 丰满亚洲大尺度无码无码专线| 久久亚洲AV成人出白浆无码国产| 亚洲爆乳少妇无码激情| 拨牐拨牐x8免费| 性xxxx黑人与亚洲| 蜜桃视频在线观看免费网址入口| 亚洲AV色吊丝无码| 久久不见久久见中文字幕免费 | 亚洲自国产拍揄拍| 台湾一级毛片永久免费 | 国产香蕉免费精品视频| 亚洲成年人电影网站| 日本成年免费网站| 2020天堂在线亚洲精品专区| 最近免费中文字幕大全视频 | 国产成人精品无码免费看| 亚洲妇熟XXXX妇色黄| 久久精品视频免费播放| 亚洲精品第一国产综合精品| 免费h片在线观看网址最新| 午夜a级成人免费毛片| 亚洲国产aⅴ成人精品无吗| 国产成人无码免费视频97 | 久久久免费观成人影院| 人人狠狠综合久久亚洲婷婷| 无码av免费一区二区三区| 亚洲精品视频免费看| 中文字幕影片免费在线观看| 亚洲AV无码精品国产成人| 免费jlzzjlzz在线播放视频| jizz免费观看| 午夜亚洲www湿好大| AV无码免费永久在线观看| 亚洲午夜无码久久久久软件| 免费国产综合视频在线看 | 91嫩草免费国产永久入口| 亚洲高清中文字幕免费| 国产免费看插插插视频| 中文字幕版免费电影网站| 亚洲午夜未满十八勿入| 97无码免费人妻超级碰碰夜夜|