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

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

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

    Oracle神諭

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      284 隨筆 :: 9 文章 :: 106 評(píng)論 :: 0 Trackbacks

    (org.jbpm.identity)身份包包含有如下幾個(gè)類:
    一、Entity 實(shí)體類:這個(gè)類作為users<用戶>groups<組>和memberships<成員>的超類,用來管理名稱和權(quán)限的增加刪除和獲取。其中用到了jdk的Permission類。目前還不知道這個(gè)對(duì)具體權(quán)限的控制有什么作用?
    二、Group組類:這個(gè)類是Entity的繼承子類,這個(gè)類主要用于區(qū)分層次組、安全角色和其他。  
      (1)主要包含以下幾個(gè)Filed:
         protected String type = null;
         protected Group parent = null; //父就是自己
         protected Set children = null; //子是一個(gè)集合,其中的元素也是Group
         protected Set memberships = null; //會(huì)員
       (2)JBpm的類內(nèi)部方法的命名還是很不錯(cuò)的:
        public Set getUsersForMembershipName(String membershipName) 很容易理解為通過membershipName來獲得所有的用戶。 這個(gè)內(nèi)不僅僅是簡單的JavaBean的setter和getter,而是進(jìn)行一些引申的操作,例如獲取用戶以及addXXX等操作。
       (3)與之相對(duì)應(yīng)的hibernate Mapping文件Group.hbm.xml其中也有幾個(gè)地方,值得注意,其實(shí)這個(gè)在Jbpm中是大量使用的:
               table="JBPM_ID_GROUP"
             discriminator-value="G">
        ....
     
      這里表示的是在JBPM_ID_GROUP表中的CLASS_字段等于G的為Group的影射對(duì)象。這里我們?cè)谑褂靡粋€(gè)表的不同類型(一個(gè)字段對(duì)應(yīng)不同的值)就可以表示不同的類型對(duì)象。這一點(diǎn)很值得我們學(xué)習(xí)的。其他值得我們關(guān)注的是它采用的集合類型的操作方式,在我們以前的開發(fā)中這種做法并值得采用的。
    三、Membership成員類:它是用戶和組之間的一個(gè)聯(lián)系的橋梁。會(huì)員的名稱代表角色的名稱。一個(gè)會(huì)員可能是一個(gè)組織的位置,所以權(quán)限往往于會(huì)員聯(lián)系。會(huì)員的名字能用來做角色的名字。不同的會(huì)員來擔(dān)當(dāng)不同的角色。
    protected  String role = null;
    protected Group group = null;
    protected User user = null;
     這個(gè)類沒有采用傳統(tǒng)的構(gòu)造子復(fù)用的方式,而是用很了很多的create()方法,有些方法讓人感覺有些茫然不知所措,不過直接相關(guān)的代碼,也就明白了。
      其中影射文件也使用了discriminator(鑒別者)的功能,以及many-to-one和set集合的做法
    四、User類:包含有三個(gè)字段:password email  以及Set memeberships。
      以下是通過兩種方式獲得Groups的方法,一個(gè)是通過組的類別,一種是通過成員名稱(角色名稱)
      public Set getGroupsForGroupType(String groupType)
      public Set getGroupsForMembershipName(String membershipName)

      通過觀察,我們發(fā)現(xiàn)這里其實(shí)有以下幾個(gè)對(duì)象:Entity Group Memebership User Permission。其中Group、Memebership、User都是Entity都是子類和父類的關(guān)系。Entity和Permission是一對(duì)多的關(guān)系,表示一個(gè)實(shí)體擁有各種不同的權(quán)限,同樣其他的Group等子類,也與Permission都是一對(duì)多的關(guān)系。Group 和Memeber是一對(duì)多的,一個(gè)組具有不同的角色(成員)。Membership與User和Group是多對(duì)一的關(guān)系。User和Membership之間是一對(duì)多的關(guān)系。

    其中涉及的表有:
    jbpm_id_group;
    jbpm_id_membership;
    jbpm_id_user;

    posted on 2005-09-17 21:33 java世界暢談 閱讀(1250) 評(píng)論(0)  編輯  收藏 所屬分類: JBPM
    主站蜘蛛池模板: 丁香五月亚洲综合深深爱| 亚洲视频在线观看2018| 国产成人久久AV免费| 亚洲第一视频网站| 无码高潮少妇毛多水多水免费| 日韩免费高清一级毛片| 亚洲爆乳无码专区| 免费看的一级毛片| 人人揉揉香蕉大免费不卡| 亚洲精品无码专区久久| 亚洲理论电影在线观看| 成人毛片18女人毛片免费视频未| 成人片黄网站色大片免费观看cn| 亚洲国产成人久久99精品| 亚洲中文字幕丝袜制服一区| 国产精品免费精品自在线观看| 一区免费在线观看| 亚洲一区二区三区不卡在线播放| 亚洲国产中文v高清在线观看| 国产福利视精品永久免费| 日本一区二区在线免费观看| 亚洲国产精品免费在线观看| 亚洲中文字幕无码日韩| 日本高清免费中文字幕不卡| 久久国产色AV免费看| 一个人看的www免费高清| 最新国产精品亚洲| 亚洲韩国—中文字幕| 亚洲一区二区三区乱码A| 精品久久久久成人码免费动漫| 国产激情久久久久影院老熟女免费 | 免费H网站在线观看的| 国产日韩精品无码区免费专区国产| 亚洲性无码一区二区三区| 亚洲成年人在线观看| 久久精品国产亚洲7777| 国产精品色午夜视频免费看| 丁香花在线观看免费观看| 欧洲精品99毛片免费高清观看| 亚洲精品国产日韩无码AV永久免费网| 亚洲av永久无码精品秋霞电影秋 |