Vincent Thinking

          All about Vincent's work and life

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 0 文章 :: 183 評論 :: 0 Trackbacks
          對于每個系統來說,權限都是一個很重要的組成部分,貫穿于整個系統功能,甚至包括數據。RBAC是一個很好的模型,對于復雜的處理更多的還是和業務緊密聯系在一起,所以對于組件形式的RBAC產品還很難做到的。 對一個用戶來說,權限主要包括2個部分,data和action,其組合形式對我們來說就是一個view,每個權限對應一個相應的view。在這里我用三維的坐標來思考,data和action是相應的x,y軸,不同的data,action組成一個業務視圖,從三維的角度來看是一個2維的的平面,我們的系統功能也就是由不同的平面來做成的。 權限可以看作z軸,view在不同的權限上會有不同的表現形式,展現不同的數據,不同的操作。這樣權限,數據,操作看起來就會清晰很多。 我所設想的應該是這樣的一種方式:view由不同的view component和action component組成,這里view只是一個模板,沒有任何業務數據。 提供一個類似PrivilegeViewFactory的類,傳入view模板,和相應的角色(用戶,組。。),生成相應的PrivilegeView,然后由業務邏輯去填充數據,這樣可以容易做到權限和view的分離,層次也比較清晰。 每個view component要實現相應的權限接口,要根據不同的角色生成不同的view component。比如DataGrid,不同的角色看的列是不同的,甚至數據內容也是不同的,更細粒度的看,業務不同字段的的數據也是不同。這部分是和ui綁定的,也是最復雜,工作量最大的部分。
          posted on 2005-12-21 12:39 Vincent Thinking 閱讀(466) 評論(3)  編輯  收藏 所屬分類: Work

          評論

          # re: 用3維坐標來看權限部分 2005-12-22 09:50 Programmer's Life
          ^_^,我在和team講的時候更多的講到的是一種"強奸"的手段,呵呵,其實就是類似Hibernate對于編寫的PO通常采用動態代碼生成的機制。
          至于View分解為View Component以及Action Component這個是現在所有的UIComponent的通常做法,這個是一個顯示和邏輯分離的原則。  回復  更多評論
            

          # re: 用3維坐標來看權限部分 2005-12-22 12:47 Vincent Thinking
          "強奸"的手段。。汗。。^_^

          我強調的不是顯示和邏輯分離,而是View Component以及Action Component都要實現相應的權限接口,我這里想討論的是權限的處理方式。根據Role以及相應的權限規則動態的產生不同的View Component,Action Component,由組裝器來組裝這些組件。當然權限規則會涉及到業務邏輯,只是初步的一個構思。  回復  更多評論
            

          # re: 用3維坐標來看權限部分 2005-12-22 21:30 Programmer's Life
          呵呵,權限其實就是兩個層面的處理,一個是對現有操作的一個截面,另一個則是對現有操作的一個侵入,截面來說處理方式比較容易,侵入方面現在能想到的也就是用動態代碼生成這樣的手段了  回復  更多評論
            

          主站蜘蛛池模板: 上高县| 兴化市| 云阳县| 桃源县| 东乌| 永靖县| 桦甸市| 阳泉市| 积石山| 大兴区| 拉孜县| 大渡口区| 桂东县| 崇明县| 交城县| 平利县| 永州市| 法库县| 麦盖提县| 廉江市| 花莲县| 枞阳县| 永州市| 盐池县| 晋城| 西华县| 蒲城县| 和静县| 疏附县| 邢台市| 孝义市| 泗水县| 英山县| 额敏县| 大英县| 青岛市| 阳朔县| 依安县| 凉城县| 古蔺县| 长汀县|