escout

          代碼、心情

          常用鏈接

          統(tǒng)計

          SOA相關(guān)

          我參與的團(tuán)隊

          最新評論

          #

          jad--java反編譯

          下午上網(wǎng)的時候看到j(luò)ad,以前曾經(jīng)看到過這個,據(jù)說是速度非??斓膉ava反編譯器,這一段正好在用一個代碼生成插件Modelstry,有一個文件命名部分不符合java規(guī)范的bug,但沒有代碼也不好改,一直想自己修改一下,就下載來看看咯
          ???花了一些時間,執(zhí)行 jad -o -r -sjava -dsrc Modelstry/**/*.class,反編譯了modelstry.jar,再自己重建成eclipse的工程,呵呵,反編譯的效果真的超強的, 只有一類幾乎一樣的錯誤,但是很容易就改好了,再重新打包成jar,放到plugin目錄下,經(jīng)過幾次調(diào)試,哈哈,原來郁悶了我很久的變量命名問題,終于自己動手搞定了,慶祝一下;-P

          posted @ 2006-05-03 21:48 綠色使者、綠色心情 閱讀(1633) | 評論 (2)編輯 收藏

          Accelerate SOA:In action!

          在四月的最后一天,網(wǎng)上報名好了,我們的Accelerate SOA今后開始全力運作啦!

          soa in action,our accelerate SOA!!

          posted @ 2006-04-30 21:48 綠色使者、綠色心情 閱讀(223) | 評論 (0)編輯 收藏

          基于RBAC的權(quán)限模型

          權(quán)限模型

          把權(quán)限模型劃分為頁面訪問控制權(quán)限和數(shù)據(jù)權(quán)限 ( 商業(yè)邏輯權(quán)限 ) 。其中,頁面訪問控制權(quán)限主要在于控制頁面是否可以被訪問,比如,管理員可以訪問權(quán)限設(shè)置頁面。數(shù)據(jù)權(quán)限主要是指是否有操作某個數(shù)據(jù)的權(quán)限,比如說組織機構(gòu)中的部分問題,一個部門應(yīng)該只看到本部門的數(shù)據(jù),這就是數(shù)據(jù)權(quán)限,這個應(yīng)該在業(yè)務(wù)邏輯中控制,而不是頁面中。

          本權(quán)限模型專注于頁面訪問控制,不涉及數(shù)據(jù)操作權(quán)限。使用用戶、角色、資源和操作來控制實際的頁面訪問。同時,區(qū)別于一般的頁面權(quán)限模型,本模型采用細(xì)粒度的權(quán)限控制,可以控制到頁面的具體操作,很不是整個頁面不加區(qū)分。所以,這樣就可以在一個頁面放置多個操作,方便于用戶,同時又不失安全性。

          考慮到權(quán)限在實際中很少變動,使用數(shù)據(jù)庫的冗余設(shè)計,還有數(shù)據(jù)緩存等來提高效率。

          ?

          用戶: User

          ?????? Id 、 name

          用戶角色表( 1 對多):

          ?????? Id 、 userID roleID

          角色 : Role

          ?????? Id name 、 description 、 defaultPage (系統(tǒng)初始化時,使用的登陸頁?)

          權(quán)限 (Role-Resource-Operation) Authority

          ?????? Id 、 role 、 resource resourceURL (為效率考慮采用的冗余,等同 Resource 中的 url ,在實際驗證中將使用該 url 來驗證)、 operationID 、 operationName (為效率考慮,采用冗余,等同 Operation 中的 name ,實際驗證中使用該操作名稱來做驗證)

          資源: Resource

          ?????? Id name 、 description 、 url

          操作: Operation

          ?????? Id name( 一般應(yīng)改為英文,對應(yīng)方法的名字 ) 、 description

          ?

          BaseAction 中應(yīng)該有一個 getMethodAuthMap (),得到方法和可用操作的映射。如果映射中找不到,則直接使用該方法名當(dāng)作操作名稱。如果方法映射找到了,但是為空,這意味著該方法對于任何用戶都是可以訪問的,不要求驗證。子類可以繼承和覆蓋該方法,來實現(xiàn)特殊的權(quán)限邏輯。

          ?

          權(quán)限操作應(yīng)該允許復(fù)制已有的權(quán)限來生成新的權(quán)限。

          在前端控制器中設(shè)置已有的對于某個資源的操作,放到 hashtable 中,比如 auth 。對于頁面,使用表達(dá)式語言 EL 來限制實際的邏輯,比如如下要求對于當(dāng)前頁面要有 delete 權(quán)限:

          ?????? <c:if test=”auth.delete”>

          ?????? </c:if>

          同時,在整體頁面中,使用 struts dispathAction 來做分發(fā), url 形如 url?method=delete 在執(zhí)行該方法之前,首先檢查當(dāng)前頁面的這個權(quán)限 delete ,如果可以,則導(dǎo)向到正確的頁面,否則導(dǎo)向到 accessDenied.do 頁面(注意,該頁面比較特殊,對于任何用戶都應(yīng)該是可以訪問的,也就是前面的 getMethodAuthMap 返回為 NULL

          ?

          posted @ 2006-04-30 17:27 綠色使者、綠色心情 閱讀(1007) | 評論 (0)編輯 收藏

          JAAS的配置

          ???以前一直沒有弄明白 jaas 如何配置,看了 jaoso 這個論壇的源碼,還有這個http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=53549上面的代碼等等,以為一定要在 jre_home /lib/security / java.security 文件中配置,就很疑惑這樣不是很受限制么,剛剛看了 JAAS: 靈活的 Java 安全機制 總算搞清楚了,可以通過配置系統(tǒng)屬性 java.security.auth.login.config 來指定 jaas 模塊的配置文件


          ???配置文件可以被任意命名,并且可以被放在任何位置。
          JAAS 框架通過使用 java.securty.auth.long.config 屬性來確定配置文件的位置。例如當(dāng)你的應(yīng)用程序是 JaasTest ,配置文件是當(dāng)前目錄下的 jaas.config ,你需要在命令行中輸入: java -Djava.security.auth.login.config=jass.config JavaTest

          ???不過這樣還是比較麻煩,看jetspeed2源碼的時候,發(fā)現(xiàn)比較好的一個方法
          System.setProperty("java.security.auth.login.config", loginConfigUrl.toString());
          ???這樣,配置文件就可以直接在程序中指定了,當(dāng)移植到部署環(huán)境中,就不用再自己配置一遍了



          posted @ 2006-04-30 16:59 綠色使者、綠色心情 閱讀(537) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共4頁: 上一頁 1 2 3 4 
          主站蜘蛛池模板: 鱼台县| 米林县| 洛隆县| 山阴县| 项城市| 江孜县| 富平县| 织金县| 塘沽区| 天台县| 霍林郭勒市| 沙洋县| 休宁县| 福州市| 忻州市| 杂多县| 利津县| 左权县| 余干县| 鸡西市| 巩义市| 广水市| 凤山市| 鹤壁市| 伊宁县| 东乌珠穆沁旗| 台东市| 建湖县| 深圳市| 孝义市| 如皋市| 炎陵县| 灌阳县| 若尔盖县| 呼玛县| 万全县| 科技| 宁强县| 南川市| 绍兴市| 昌都县|