FileNet Realm類的簡單使用和常量類的簡要說明及其引申的待談話題

來源:互聯網
上載者:User

        FileNet的使用者和組依靠的是LDAP,多少情況使用的是windows2003 的。在項目中擷取賬戶和組資訊可以編碼訪問LDAP,也可以使用FileNet的介面來訪問用資訊。沒有特殊需要,直接使用FileNet介面介面即可。

        在com.filenet.api.security包中提供了關於認證、授權以及使用者和組的介面。包括Realm、User、Group等。Realm可以用來查詢User和Group。以擷取使用者資訊為例代碼如下所示。

Realm realm = Factory.Realm.fetchCurrent(this.osp().getObjectStore().getConnection(), null);UserSet userSet = realm.findUsers(“shortName”,                   PrincipalSearchType.SUFFIX_MATCH,                   PrincipalSearchAttribute.SHORT_NAME,                   PrincipalSearchSortType.ASCENDING,                   0,                     null);  for(Iterator<?> iter = userSet.iterator();iter.hasNext();){         User user = (User)iter.next();        String dispName = user.get_DisplayName();        String email = user.get_Email();} 

 

        以上代碼的核心在realm.findUsers上,其中使用了實體類PrincipalSearchType,PrincipalSearchAttribute和PrincipalSearchSortType,它們分別用於指定尋找匹配模式、尋找的條件欄位和排序類型。這些類都在FileNet的com.filenet.api.constants包中。這樣做便於管理,也防止了使用者傳參的無效性,提高了代碼的品質。在項目中我們也經常定義一些這樣的類來儲存所需常量(包括方法參數常量、資訊提示常量、配置資訊常量等等),一個很好的應用是項目Exception統一管理中的異常代碼。不過需要注意區別常量和可能變動的資訊(往往使用設定檔xml、property等)。

        上面代碼查詢過程使用的是尾綴匹配方式,而且對查詢結果進行了排序,其速度是相當慢的。但就查詢某一個使用者,我們可以直接進行精確尋找,對結果無需排序,其查詢速度大概能提高10倍以上。修改內容如下所示:

UserSet userSet = realm.findUsers (“shortName”, PrincipalSearchType.EXACT,PrincipalSearchAttribute.SHORT_NAME,PrincipalSearchSortType.NONE,0, null);

        在FileNet PE方面的介面中的VWSession有fetchUserInfo(java.lang.String theName)方法能夠擷取指定shortName下的VWUserInfo,通過這個類能夠得到使用Realm方法擷取的資訊,但使用該方法查詢使用者資訊可能會存在許可權等問題致使無法完全擷取自己需要的資訊。

        對於FileNet的security包還有很多重要的功能,如授權和認證,是所有系統必不可少的基礎模組。此外FileNet的組織資訊牽涉到作為輕量級目錄服務之一的LDAP協議的使用,同時此文對使用常量類和設定檔進行了簡單說明,但在項目中值得重視。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.