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

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

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

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Turbine 介紹

    Posted on 2009-12-29 04:46 leekiang 閱讀(715) 評論(0)  編輯  收藏 所屬分類: struts
    轉(zhuǎn)自http://davidwang.javaeye.com/blog/83952(此文思路相當(dāng)清晰,值得一看)

    http://jakarta.apache.org/turbine/

    Turbine是一個提供了完善權(quán)限控制的堅實框架(Fulcrum子項目是其基石)。Turbine的個人用戶不多,但不少公司用戶選擇 Turbine作為框架,開發(fā)一些嚴肅的應(yīng)用(我并沒有說,用其它框架開發(fā)的應(yīng)用就不嚴肅^_^)。Portal開源項目JetSpeed建立在 Turbine上。

    Turbine用RunData來傳遞輸入輸出數(shù)據(jù)。如同Maverick的ControllerContext,RunData是整個 Turbine框架的數(shù)據(jù)交換中心。除了request, response等基本信息,RunData直接包括了User/ACL等權(quán)限控制相關(guān)的屬性和方法,另外還包括Action Name和Target Template Name等定位屬性。

    Module是Turbine里面除了RunData之外的又一個核心類,是Turbine框架的基本構(gòu)件,Action是 Module,Screen也是Module。Turbine提供了LoginUser和LogoutUser兩個Action作為整個系統(tǒng)的出入口。而 其余流量的權(quán)限控制則由類似于Servlet Filter機制的Pipeline控制。

    Turbine Pipeline的編程模型和Servlet Filter一模一樣:Turbine Pipeline的Valve就相當(dāng)于Servlet Filter,而ValveContext則相當(dāng)于Filter Chain。還有更相近的例子,Tomcat源代碼里面也有Valve和ValueContext兩個類,不僅編程模型一樣,而且名字也一樣。



    權(quán)限控制貫穿于Turbine框架的始終。要用好Turbine,首先要通曉子項目Fulcrum 的Security部分的權(quán)限實現(xiàn)模型。

    Fulcrum Security的權(quán)限實體包括四個-- User, Group, Role, Permission。

    實體之間包含{Role,Permission}和{ Group, User, Role}兩組關(guān)系。

    {Role,Permission}是多對多的關(guān)系,一個Role可以具有各種Permission;{ Group, User, Role}之間是多對多的關(guān)系,一個Group可包含多個User,并可以給User分配不同的Role。

    權(quán)限模型的實現(xiàn)同樣采用Peer模式,Entity -> EntityPeer, Entity -> ManagerPeer。

    Entity和EntityManger代表抽象的模型概念,而EntityPeer和ManagerPeer代表具體的實現(xiàn)。

    用戶可以根據(jù)模型,提供不同的實現(xiàn),比如,用內(nèi)存結(jié)構(gòu)中實現(xiàn),用數(shù)據(jù)表結(jié)構(gòu)實現(xiàn),與Windows NT權(quán)限驗證機制結(jié)合,與OSWorkflow的權(quán)限控制模型結(jié)合,等等。其中,用數(shù)據(jù)表結(jié)構(gòu)實現(xiàn),又可以選擇用Torque實現(xiàn),或者用 Hibernate實現(xiàn)。(Torque是Turbine的O/R Mapping子項目)
    例如,F(xiàn)alcrum.property配置文件包含如下Security相關(guān)選項:

    # -------------------------------------------------------------------

    # S E C U R I T Y S E R V I C E

    # -------------------------------------------------------------------

    services.SecurityService.user.class=org.apache.fulcrum.security.impl.db.entity.TurbineUser

    services.SecurityService.user.manager=org.apache.fulcrum.security.impl.db.DBUserManager

    services.SecurityService.secure.passwords.algorithm=SHA

    # -------------------------------------------------------------------

    # D A T A B A S E S E R V I C E

    # -------------------------------------------------------------------

    services.DatabaseService.database.newapp.driver=org.gjt.mm.mysql.Driver

    services.DatabaseService.database.newapp.url=jdbc:mysql://127.0.0.1/newapp

    services.DatabaseService.database.newapp.username=turbine

    services.DatabaseService.database.newapp.password=turbine



    這說明,權(quán)限控制實現(xiàn)由數(shù)據(jù)庫提供,需要根據(jù)權(quán)限模型創(chuàng)建如下數(shù)據(jù)表:

    TURBINE_USER,TURBINE_ROLE,TURBINE_GROUP,

    TURBINE_PERMISSION,TURBINE_ROLE_PERMISSION,

    TURBINE_USER_GROUP_ROLE

    Turbine表單處理中的中文:http://dev.csdn.net/article/70476.shtm

    使用turbine的項目:
    1)http://www.campware.org的Cream CRM
    2)http://scarab.tigris.org/
    3)Ohioedge 是采用B/S架構(gòu)的開源的客戶管理系統(tǒng)。基于Jetspeed/Turbine技術(shù)
    ? http://www.ohioedge.com/

    參考資料:
    http://turbine.apache.org/fulcrum/fulcrum-osworkflow-example
    http://www.itpub.net/thread-306279-1-1.html
    http://dev.csdn.net/article/19/19994.shtm

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费成人在线观看| 亚洲国产精品网站久久| 无码精品人妻一区二区三区免费看| 亚洲av日韩av激情亚洲| 国产一卡二卡3卡四卡免费| 国产亚洲Av综合人人澡精品| 久久久久亚洲AV无码专区网站| 日韩免费无码视频一区二区三区| 激情综合亚洲色婷婷五月| www.亚洲精品| 日本zzzzwww大片免费| 免费无码又爽又黄又刺激网站| 亚洲精品卡2卡3卡4卡5卡区| 很黄很色很刺激的视频免费| h视频在线观看免费| 亚洲制服丝袜在线播放| 亚洲性久久久影院| 欧美a级成人网站免费| 黄色网址免费在线观看| 亚洲色大成网站www永久网站| 中文字幕亚洲一区二区三区| 91香蕉视频免费| a级毛片高清免费视频| 亚洲人成色4444在线观看| 亚洲va久久久噜噜噜久久狠狠| 日韩免费无码一区二区视频| 91青青青国产在观免费影视| 乱爱性全过程免费视频| 久久久久久亚洲精品影院| 久久国产精品亚洲一区二区| 亚洲?v女人的天堂在线观看| 一二三四在线播放免费观看中文版视频 | 国产亚洲精品一品区99热| 大香人蕉免费视频75| 日本在线看片免费人成视频1000| 国产亚洲福利精品一区二区| 亚洲国产成人久久99精品| 国产精品亚洲精品日韩已满| 成人亚洲综合天堂| 日韩免费观看一级毛片看看| 我们的2018在线观看免费高清|