uap63門戶集成關鍵技術說明_第1頁
uap63門戶集成關鍵技術說明_第2頁
uap63門戶集成關鍵技術說明_第3頁
uap63門戶集成關鍵技術說明_第4頁
uap63門戶集成關鍵技術說明_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、大中型企業(yè)與公共組織云平臺文檔更改審校批準分發(fā)2序號分發(fā)地點職位簽字日期審校人版本審校意見日期作者版本更改參考/備注2011-12-011.0大中型企業(yè)與公共組織云平臺前言隨著企業(yè)客戶不斷變化的定制化需求伴隨而來的是企業(yè)內(nèi)部各種定制系統(tǒng)的部署運行,這些系統(tǒng)各自的功能操作和安全認證使用戶不斷的在之間進行重復工作,這就需要一個統(tǒng)一的門戶對其進行整合集成。UAP Portal 是基于 JSR286 規(guī)范而實現(xiàn)的一套 J2EE技術體系架構(gòu)的 Portal。它構(gòu)建于 UAP 平臺之上,提供了靈活而豐富的個性化和管理定制功能。門戶集成提供了完善和通用的第集成框架和單點登錄框架,UAPPortal 發(fā)版默認

2、集成 NC、IUFO、BO、自定義報表應用,實施 SSO 比商業(yè) Portal 簡單易用。該文檔主要了門戶集成中常見的集成類型,單點集能節(jié)點集成、待辦集成、消息的集成,這些集成類型分別對應了各自的實際應用問題。單點集成是基于憑證的思想設現(xiàn)的,解決用戶實際操作中從一個系統(tǒng)跳到另一個系統(tǒng)時需要重新輸入認證的問題,UAPPortal 通過用戶首次登陸的作為后續(xù)操作安全認證的憑證,通過系統(tǒng)自對端系統(tǒng)校驗的方式達到前臺用戶跨系統(tǒng)的透明操作,門戶發(fā)版默認自帶“HR 自助”、“LWF 系統(tǒng)”、“NC 集團應用”、“NC57 系統(tǒng)”、“網(wǎng)上報銷”、“IUFO 集成”等。功能節(jié)點的集成主要從門戶的菜單或頁面里直

3、接打開異構(gòu)系統(tǒng)的一個功能節(jié)點(如 NC 系統(tǒng)),該功能可以滿足用戶在門戶里直接操作其它系統(tǒng)功能節(jié)點的問題,門戶實現(xiàn)該功能是基于單點集成中創(chuàng)建的憑證進行 url 的傳遞,在門戶的頁面適配中顯示對端系統(tǒng)的功能節(jié)點內(nèi)容。目前門戶支持“NC 集團應用”、“門戶(LFW)”、“第”的功能節(jié)點的集成。消息集成和任務集成主要抓取對端系統(tǒng)的部分(前 X 條最新消息、緊急任務等)。本文檔主要目的是:使客戶、實施或開發(fā)能夠通過本文檔對門戶的單點集能節(jié)點集成、消息集成、任務集成的機制及流程有一個全面的了解,從而幫助他們快速完成自己的工作。3大中型企業(yè)與公共組織云平臺©2013集團集團的。,本白皮書任何整體

4、或部分的內(nèi)容不得被、復印、翻譯或縮減以用于任何目的。本白皮書的內(nèi)容在通知的情形下可能會發(fā)生改變,敬請留意。請注意:本白皮書的內(nèi)容并不代表所做的承諾。4大中型企業(yè)與公共組織云平臺目錄前言.4目錄5.7第一章集成1.1.概念.71.2.整體.9第二章單點集成112.1.API. ....5.IWebAppLoginService 接口12獲取最后進入 web 系統(tǒng)的實際 URL12進入第集成系統(tǒng)的憑證制作13需要驗證的字段定義14校驗15返回所有第用戶登錄獲取集成系統(tǒng)指定節(jié)點的登錄 URL..

5、.3.4.集成17LFW 集成17NC6 集成17NC5.7 集成18E-hr 集成..2.4.3.第集成19配置系統(tǒng)19配置屬性20集成過程23第三章功能節(jié)點集成2..IWebAppFunNodesService 接口26獲得功能節(jié)點同步 URL26獲取用戶所有節(jié)點265大中型企業(yè)與公共組織云平臺3.2.配置系統(tǒng)2..3.3.3.功能節(jié)點集成29NC 集團應用(NC)29門戶(LFW)30. 31第第四章消息集成364.1.集成消息364.2.集成第消息374.3.消息.384.4.消息命令40第五章

6、任務集成4.1.集成 NC 流程42白. 456大中型企業(yè)與公共組織云平臺第一章集成1.1. 概念UAP-Portal 的集成方案是基于憑證的思想設現(xiàn)的。對于 UAP -Portal 集成的每個第都有一個制作憑證的頁面,該頁面用于當前登錄的 portal 用戶輸入對應的第的用戶,在正常情況下,該制作憑證的頁面只會出現(xiàn)一次。當用戶輸入的第三方系統(tǒng)進行驗證后,會自動在 portal 系統(tǒng)的數(shù)據(jù)庫中建立一對憑證槽和憑證,這對了 portal 用戶在特定的 portal 布局和特定的 portlet 下,與該第的身份對應。當該用戶之后登錄 portal 并進入被集成第時,portal

7、系統(tǒng)負責獲取之前建立的對應第,并用該進行第的認證。這一切的操作對當前登錄用戶來說都是透明的,他們看到的是沒有輸入任何而以正確的進入了第。另外,在用戶每次登錄第時,都會根據(jù)第的要求進行認證,因此這個登錄過程是安全的。UAP-Portal 的 SSO 基本思路如下:使用數(shù)據(jù)庫來各應用系統(tǒng)的憑證并關聯(lián)portal 用戶,在 portal 登錄后通過登錄的 portal 用戶自動找到該應用系統(tǒng)的憑證直接進入各應用系統(tǒng) 。UAP-Portal SSO 的憑證庫模型圖在 UAP-Portal 的 SSO 方案中,憑證庫槽與憑證的概念。其中憑證庫槽用來模擬憑證庫存放地,一個憑證庫槽就是一個用戶的一個 por

8、tlet 的憑證存放地。7大中型企業(yè)與公共組織云平臺憑證庫槽主要包含如下字段:Portal 用戶 ID(userid):portal 用戶,當前登錄的用戶 ID。Portlet ID(portletid):portlet 標識,被集成的第對應的 Portlet,在 portal 系統(tǒng)中,每個被集成第作為一個單獨的 Portlet。共享級別(sharelevel):該字段表明憑證被共享的程度,共享分為三個級別:專有、應用共享、全局共享。專有是只能本用戶本 portlet 使用,不能被其他任何 Portlet 共享;應用共享是本用戶在整個相同應用系統(tǒng)中可以與其他Portlet 共享,例如處于該級別

9、的所有NC 系統(tǒng)的 portlet 都可以,如 NC 集團應用、NC 待辦事務以及 NC 報表都能夠共享,即用戶只要登錄這些 Portlet 中一個,其他都可以使用這些自動登錄;全局共享是所有用戶在整個一相同應用系統(tǒng)中都共享。共享級別直接在 portlet.xml 中通過<init-param>來定義,如果不設置,默認為應用共享:說明:共享級別含義,專有 0;應用共享 1;全局共享 2。在 portlet.xml 中定義了什么級別,該 portlet 保存憑證以該級別創(chuàng)建憑證槽。在當前 Portal 實現(xiàn)中,這些級別都已經(jīng)得到了實現(xiàn),但通常使用的是應用共享級別。憑證庫模型設計包含兩

10、個過程:憑證的創(chuàng)建和憑證的維護。憑證的創(chuàng)建過程是通過用戶登錄集成第頁面,輸入合法的第用戶名和,和第需要的來實現(xiàn)的。通過此過程,系統(tǒng)在數(shù)據(jù)庫中憑證庫槽及憑證的對應。除了由用戶自身創(chuàng)建憑證之外,在 Portal502 中,還提供了由管理員在 Portal 管理/用戶管理中統(tǒng)一為用戶批量制作憑證的功能。在該節(jié)點中,可以為用戶關聯(lián)所有的現(xiàn)有系統(tǒng),這樣可以方便的為現(xiàn)有用戶批量制作憑證,也可以在用戶創(chuàng)建與被集成系統(tǒng)的用戶相關聯(lián),這樣用戶在登錄8<init-param><name>share_level</name><value>1</value>

11、</init-param>大中型企業(yè)與公共組織云平臺Portal 系統(tǒng)時將能夠自動登錄被集成系統(tǒng),而再經(jīng)歷制作憑證的過程。pt_credentialpt_slot1.2. 整體對于 UAP-Portal 來說,對 Web 系統(tǒng)的集成提供了完善的支持和解決,至于對 c/s 系統(tǒng)的集成需要,只提供了簡單的支持功能。對 Web 系統(tǒng)的集成,目前有大小之分。集成一個單獨的系統(tǒng)如 NC、IUFO、BO 系統(tǒng)采用單獨的一個布局存放(當然,該布局也是由一個 portlet 組成),這些 Web 系統(tǒng)稱為“大”系統(tǒng)。另外,在 Portal502 中還另外一些集成第的“小”portlet,如 NC

12、待辦事務 Portlet、NC 報表 Portlet、IUFO 報表 Portlet 等,這些是以“小”Portlet 的形式出現(xiàn)的。他們主要提對集成系統(tǒng)的輔助功能,如對 NC 待辦事務的提取、對 IUFO 報表信9<cpreferences><cpreference><name>userid</name><value>user2</value></cpreference><cpreference><name>password</name><value>yonyo

13、u1</value></cpreference></cpreferences>大中型企業(yè)與公共組織云平臺息的提取。這兩種方式功能側(cè)重點略有不同,在實現(xiàn)也有一些小的區(qū)別,將在下面詳細。關于對 c/s 系統(tǒng)集成的支持,在 portal502 中提供了簡單的解決方案?;镜乃枷胧峭ㄟ^ Portlet 加載 applet,在 applet 中執(zhí)行本地命令,打開客戶端,并傳入需要的用戶參數(shù),具體使用方式在下面詳細。10大中型企業(yè)與公共組織云平臺第二章單點集成2.1. APIUAP-Portal 單點登錄是 UAP-Portal 集成其它系統(tǒng)的框架和工具,UAP-Por

14、tal 里的 SSO在實現(xiàn)多個系統(tǒng)單點登錄的功能上進行了擴展: 可以定義單點登錄的用戶來源 userprovider(可以是任何支持的數(shù)據(jù)來源)。因此,在具體實現(xiàn)與 UAP-Portal 的集成過程中,需要注意和實現(xiàn)兩個關鍵點,即:用戶資料來源和單點集成。用戶資料來源有專門章節(jié),此處對單點集成進行詳細。當?shù)谂c Portal 進行集成時, 必須實現(xiàn) Portal 的單點集成接口:IWebAppLoginService。該接口負責完成生成憑證的過程、定制生成憑證所需要用戶提供的域以及提供用戶登錄時的轉(zhuǎn)向 URL。在提供轉(zhuǎn)向 URL 時需要根據(jù)第的需要進行必要的用戶認證。IWebAppFunNode

15、sService 是可選的集成接口,用來集成第的功能節(jié)點.該接口負責輸出當前系統(tǒng)的功能節(jié)點,功能節(jié)點列表以及當前用戶的快捷方式。單點登錄相關接口圖UAP-Portal 的單點登錄,都是以 Portlet 的形式的。其中 WebApplicationPortlet是實現(xiàn)單點登錄的 Portlet,它用于對第的集成,如對 NC 系統(tǒng)的集成就是采用這種 Portlet。WebApplicationPortlet 是個通用的登錄集成 Portlet,通過調(diào)用配置文件指定的11大中型企業(yè)與公共組織云平臺IWebApploginService 實現(xiàn)來完成具體的應用系統(tǒng)集成,該 portlet 的 view

16、 模式作系統(tǒng)展現(xiàn),edit 模式進行 credential 制作(如錄入用戶名,等被集成方需要的登錄)。界面做成通用的登陸集成 UI,具體應用系統(tǒng)通過實現(xiàn) IWebAppLoginService 來完成具體應用系統(tǒng)的集成。IWebAppLoginService 提供了集成第的關鍵接入點,由完成了對第集成的整個過程需要的的獲取。2.2.IWebAppLoginService 接口集成開發(fā)主要涉及功能節(jié)點集成的開發(fā)、單點登錄集成的開發(fā)。功能節(jié)點集成的開發(fā)在下一章節(jié)說明。這里主要說明下單點集成接口,該接口包含功能有:“獲取最后進入 web 系統(tǒng)的實際 URL”、“進入第集成系統(tǒng)的憑證制作”、“返回所

17、有第需要驗證的字段定義”、“用戶登錄校驗”、“獲取集成系統(tǒng)指定節(jié)點的登陸 URL”等。2.2.1. 獲取最后進入 web 系統(tǒng)的實際 URL定義:參數(shù)說明:credential進入系統(tǒng)的憑證providerVO應用對應的 provider,如果沒有為 null示例:12/* 獲取最后進入 web 系統(tǒng)的實際URL*/public String getGateUrl(HttpServletRequest req, HttpServletResponse res, PtCredentialVO credential, SSOProviderVO providerVO) throws Credent

18、ialValidateException;大中型企業(yè)與公共組織云平臺2.2.2. 進入第集成系統(tǒng)的憑證制作定義:參數(shù)說明:providerVO應用對應的 provider,如果沒有為 null示例:13public PtCredentialVO credentialProcess(HttpServletRequest req, SSOProviderVO provider) PtCredentialVO credentialVO = new PtCredentialVO(); credentialVO.setUserid(userId); credentialVO.setPassword(pa

19、ssword);credentialVO.getCredentialReference().setValue("ncgrouppk",ncUser.getPk_group();/* 進入第集成系統(tǒng)的憑證制作*/public PtCredentialVO credentialProcess(HttpServletRequest req, SSOProviderVO providerVO) throws CredentialValidateException;public String getGateUrl(HttpServletRequest req, HttpServlet

20、Response res, PtCredentialVO credential, SSOProviderVO provider) String gateUrl = provider.getGateUrl();gateUrl += "?ssoKey=" + key + "&type=portal" return gateUrl; 進入 WEB 系統(tǒng)實際的URL大中型企業(yè)與公共組織云平臺2.2.3. 返回所有第需要驗證的字段定義定義:參數(shù)說明:req 當前請求對象,可以從中獲得用戶之前輸入的作為默認值providerVO 應用對應的 provider

21、,如果沒有為 nulluserVO 當前登錄用戶的 UserVOcredential 進入系統(tǒng)的憑證示例:14/* 返回所有第需要驗證的字段定義*/public ExtAuthField getCredentialFields(HttpServletRequest req, SSOProviderVOproviderVO, IUserVO userVO, PtCredentialVO credential) throws CredentialValidateException;credentialVO.getCredentialReference().setValue("ncuser

22、pk", ncUser.getPrimaryKey();return credentialVO;返回生成的憑證大中型企業(yè)與公共組織云平臺2.2.4. 用戶登錄校驗定義:示例:15public String verifyUserInfo(HttpServletRequest req, PtCredentialVO credentialVO, SSOProviderVO providerVO) int verifyResult = loginService.verify(loginReq, verifyBean);/* 用戶登錄校驗,如果用戶登錄不合法以異常拋出.*證制作,獲取登錄URL

23、前均需要驗證用戶的單點登錄*/publicStringverifyUserInfo(HttpServletRequestreq,PtCredentialVO credentialVO,SSOProviderVO,roviderVO)throwsCredentialValidateException;Public ExtAuthField getCredentialFields(HttpServletRequest req, SSOProviderVO provider, nc.uap.portal.user.entity.IUserVO userVO, PtCredentialVO crede

24、ntial) throws CredentialValidateException ExtAuthField fields = new ExtAuthField4;fields0 = new ComboExtAuthField(“系統(tǒng)”, "code", true); fields1 = new TextExtAuthField(“用戶”, "userid", true); fields2 = new PasswordExtAuthField(“用戶”, "password", false); fields3 = new ComboE

25、xtAuthField(“語言”, "language", true); fields0.setRequired(true);fields1.setRequired(true); fields2.setRequired(true); fields3.setRequired(true);return fields; 第 驗證 附加字段大中型企業(yè)與公共組織云平臺2.2.5. 獲取集成系統(tǒng)指定節(jié)點的登錄 URL定義:舉例:16public String getNodeGateUrl(HttpServletRequest req, HttpServletResponse res,

26、String nodeId, PtCredentialVO credential,SSOProviderVO provider) throws CredentialValidateException String gateUrl = provider.getGateUrl();gateUrl += "?ssoKey=" + key + "&type=portal"gateUrl += "&uiloader=nc.uap.lfw.applet.NodeUILoader&nodeid=" + nodeId; ret

27、urn gateUrl; 指定節(jié)點登陸的url/*取集成系統(tǒng)指定節(jié)點的登陸URL*/public String getNodeGateUrl(HttpServletRequest req, HttpServletResponse res, String nodeId, PtCredentialVO credential, SSOProviderVO providerVO) throws CredentialValidateException;if (verifyResult != ILoginConstants.USER_IDENTITY_LEGAL) 合法if(LOGIN_RSL_MAP.c

28、ontainsKey(verifyResult)throw new CredentialValidateException(LOGIN_RSL_MAP.get(verifyResult); elsethrow new CredentialValidateException(“未知錯誤”);大中型企業(yè)與公共組織云平臺2.3.集成門戶安裝盤默認提供對 NC 其他的集成支持,其中:LFW(對端門戶)、NC6、NC57、E-HR 等。配置初始化在單點登錄配置中體現(xiàn)。2.3.1. LFW 集成使用 LFW 開發(fā)的系統(tǒng),如果單獨部署,也可以很方便的集成到門戶中。與其他系統(tǒng)類似,需 要 配 置 一 個類 。

29、 門 戶 預 置 了 一 個 默 認 的 LFW 系 統(tǒng) 集 成類egrate.system.LfwWebAppLogin. 想讓此類工作, 需要配置URL(registrUrl),數(shù)據(jù)源名稱(dsname)及登出地址。如下圖:注意:數(shù)據(jù)源名稱指的的被集成系統(tǒng)現(xiàn)在使用的數(shù)據(jù)源的 id。2.3.2. NC6 集成門戶預置了對 NC6的集成模板.配置時直接對模板進行修改即可.配置方式1、將 Portal 的IP 地址添加到 NC 的信任 IP 中.編輯 NCHOME/ ierp/sf/ ssoConfig.xml,將中增加一個行<string>Port

30、al 的IP 地址</string>.重啟 NC 中間件。17<listParam key="IPAddress"><string></string></listParam>大中型企業(yè)與公共組織云平臺2、 修改集成模板.在單點登錄中選 NC.然后里面的與地址有都輸入 NC 的地址.Code 項目輸入 NC 系統(tǒng)的帳套編碼。3、 新建布局. 打開系統(tǒng)管理 > 應用平臺管理 > 門戶配置 > 布局管理 ,新建一個布局,然后選擇集成 portlet。 保存后展開布局,選中集成 Port

31、let,點擊高級設置中,系統(tǒng)編碼選中剛才配置的 NC 系統(tǒng)。2.3.3. NC5.7 集成門戶預置了對 NC5.7的集成模板,配置時直接對模板進行修改即可。配置方式:1:將 Portal 的 IP 地址添加到 nc57 的信任 IP 中.在 nc57/nchomeierp/bin 目錄下,修改 exterior.xml 在 <remoteip></remoteip> 這 行 下 面 再 添 加 一 行<remoteip>Portal 的IP 地址</remoteip>.2:Nc60 環(huán)境中添加 57 數(shù)據(jù)源. 即直接添加一個 n

32、c57 環(huán)境使用的數(shù)據(jù)庫作為一個數(shù)據(jù)源., 我們這標記新建的數(shù)據(jù)源為 dsname1. 注意要保留 60 的數(shù)據(jù)源, 添加數(shù)據(jù)源在ncSysConfig.bat 里面.不再3:修改集成模板.在單點登錄中選 nc57.然后里面的與地址有都輸入 nc57 的地址,然后 dsname 輸入第 2)設置的數(shù)據(jù)源 dsname1.而不是輸入 57 上原本的數(shù)據(jù)源. 這點是區(qū)別.4:新建布局. 打開系統(tǒng)管理 > 應用平臺管理 > 門戶配置 > 布局管理 ,新建一個布局,然后選擇集成 portlet. 保存后展開布局,選中集成 Portlet,點擊高級設置編碼選中剛才配置的 NC5.7 系

33、統(tǒng).2.3.4. E-hr 集成門戶預置了對 e-hr的集成模板.配置時候直接對模板進行修改即可.開發(fā)方式:( 1 ) 將HR代 碼 的 hotwebshrssWEB-INFperties中 的identifyCodeEnabled=false 設置為 false(2)啟動門戶的 NCHOME/bin/NCSysconfig.bat .選擇數(shù)據(jù)源.點增加.增加一個數(shù)據(jù)源,18大中型企業(yè)與公共組織云平臺名稱為 hr5x,連接到 hr 的數(shù)據(jù)庫,不進行其他操作。請注意,ncsysconfig 有可能把 portal數(shù)據(jù)源改成這個,要檢查一下 ierpbinappendproduct

34、perties 中配置是否正確。(3)用管理員賬號登錄,點擊單點登錄配置,修改模板中的 registryUrl 的ip 和端口;修改 datasource 為 nc57 里面的 hr 使用的數(shù)據(jù)源名(4)新建布局. 打開系統(tǒng)管理 > 應用平臺管理> 門戶配置 > 布局管理 ,新建一個布局,然后選擇集成 portlet. 保存后展開布局,選中集成 Portlet,點擊高級設置中,系統(tǒng)編碼選中剛才配置的 e-HR 5.7 系統(tǒng).注意事項(1)hr 無法嵌入 iframe 中運行。請單獨建一個布局。(2)打開 HR 會將原頁面重定向到 HR 主界面.如果需要

35、繼續(xù)保持原 portal 頁面,按如下步驟操作.管理員登陸,打開系統(tǒng)管理 > 應用平臺管理 > 門戶配置 > 布局管理,找到新建的集成 57hr 的頁面,點修改,是否保持頁面狀態(tài)設置為是,保存。關閉窗口,點應用。2.4. 第集成門戶與第的集成主要是通過表單集成完成的,門戶通過第的登錄(用戶名、失敗標志、標志等)模擬表單提交完成第的安全校驗從而實現(xiàn)單點功能。2.4.1. 配置系統(tǒng)系統(tǒng)管理> 應用平臺管理 > 門戶配置 > 單點登錄設置 >點擊新增19大中型企業(yè)與公共組織云平臺其中值得注意的是網(wǎng)關地址是登錄后的默認主界面.類是“第單點認證類(nc.uap.

36、egrate.impl.Integration)”LoginWithForm.點擊確定.系統(tǒng)建立完畢。2.4.2. 配置屬性選中建立的系統(tǒng),點設置屬性,新增如下屬性:system_code :系統(tǒng)編碼相同success_sign :登錄標志failure_sign : 登錄失敗標志registryUrl : 提交登錄的地址useridfield_id : 用戶 ID 名稱注意: useridfield_部分標記的是提交的 input 的真實值,配置值里面的是顯示名稱passwdfield_id :名稱field_aa: 附加(aa 是 input 的名稱,配置值對應發(fā)送給

37、registryUrl 的值)實例下面以 JIRA 系統(tǒng)為例一下集成的過程。20大中型企業(yè)與公共組織云平臺在瀏覽器中打開要集成的JIRA系統(tǒng).如,F(xiàn)iddler 工具并打開.在集成系統(tǒng) 上 輸 入 用 戶 名. 點 擊 登 錄 ; 可 以 看 到Fiddler工 具 上 有 一 些。選中,可以看到我們需要的都已經(jīng)獲取到了。根據(jù) Fiddler 上獲得的,我們得到了下面的配置。21大中型企業(yè)與公共組織云平臺保存即可.在布局管理中創(chuàng)建一個布局。將系統(tǒng)集成-表單集成 Portlet 拖到布局中。在布局管理中展開創(chuàng)建的布局,選中表單集成 Portle,點擊高級設置,選擇系統(tǒng)編碼。22大中型企業(yè)與公共組

38、織云平臺網(wǎng)關地址是可選項,如果設置了網(wǎng)關地址,會將用戶名提交到新的網(wǎng)關中??梢杂脕韺崿F(xiàn)默認顯示不同頁面(需要第進行二次開發(fā))。2.4.3. 集成過程在集成第的開發(fā)過程中,大致經(jīng)過如下幾個過程:完成 IWebAppLoginService的實現(xiàn)類、配置單點登錄。 如果想讓用戶使用該系統(tǒng),還需要將集成 Portlet 放入布局,與單點登錄系統(tǒng)關聯(lián)。下面將詳細每個步驟。. 實現(xiàn)類在集成第時,按是否需要憑證可以分為兩類。需要憑證的集成需要實現(xiàn) IWebAppLoginService。接口中各個的功能已經(jīng)在前面,這里強調(diào)如下幾點:在 getGateUrl(),通過傳入的 SSOProvid

39、erVO 獲取在單點登錄配置中配置的原始URL,該 URL 是進入第內(nèi)容頁面的鏈接,portal 通過該 URL第時不應該再進行認證(或者只要認證就肯定認證),因為只要 Portal 系統(tǒng)能夠獲取到 URL后而不能登錄到第出現(xiàn)不可預料的錯誤。所以在 getGateUrl()中需要在返回 URL 之前對用戶登錄進行認證(如果第需要),如果認證不,則以PortletLoginException 的形式拋出異常,異常將顯示在錯誤登錄頁。這個步驟是對上一步驟的保證,只要通過第認證,則 portal 在獲得 URL 登錄第時將23大中型企業(yè)與公共組織云平臺出現(xiàn)登錄錯誤。在 getCredentialFi

40、elds()中,返回用戶登錄第時需要驗證的登錄,這些以 ExtAuthField 的形式返回,portal 系統(tǒng)根據(jù)這些自動生成憑證的頁面,用戶輸入后以 Form 的形式提交,ExtAuthField 中 name 字段將作為請求的參數(shù)名傳遞給后臺。在 credentialProcess(HttpServletRequest req, SSOProviderVO provider)中實現(xiàn)憑證的,在 req 中可以獲取在 getCredentialFields中定義的參數(shù)值,通過 req.getAttribute (name)獲取。該中需要實現(xiàn)對用戶的認證,確保正確無誤。. 配置單

41、點登錄系統(tǒng)應用管理平臺>門戶配置>單點登錄設置中新建一個系統(tǒng).系統(tǒng)編碼必須唯一.網(wǎng)關地址是默認的登錄 URL24大中型企業(yè)與公共組織云平臺. 配置顯示集成系統(tǒng)的布局系統(tǒng)管理 > 應用平臺管理 > 門戶配置 > 布局管理 中新建一個布局,選集成,集成 Portlet.拖放到布局中.保存,頁面管理里中點刷新即可看到新建的布局。. 配置 Portlet的關聯(lián)雙擊展開剛才創(chuàng)建的布局,可以看到布局中的 Portlet.選中 Portlet,點高級設置.出現(xiàn)以下界面,選擇剛才系統(tǒng)編碼,完成關聯(lián)。25大中型企業(yè)與公共組織云平臺第三章功能節(jié)點集成3.1

42、. IWebAppFunNodesService 接口Portal 集能節(jié)點,主要“獲得用戶功能節(jié)點”、“獲得功能節(jié)點同步 URL”。類再實現(xiàn)一個 IWebAppFunNodesService 接口 . 實現(xiàn) getUserNodes及getSyncFunURL.3.1.1. 獲得功能節(jié)點同步 URL通過的 SSO 文件、各個系統(tǒng)定制的同步界面定義:示例:3.1.2. 獲取用戶所有節(jié)點該接口主要是通過憑證、單點提供類,獲取該用戶的所有功能節(jié)點。定義:26Overridepublic String getSyncFunURL(String systemCode) return"/por

43、tal/app/mockapp/lfwwebappfunnodsyn?systemCode="+systemCode;/* 獲得功能節(jié)點同步URL* param* return*/public String getSyncFunURL(String systemCode);大中型企業(yè)與公共組織云平臺示例:27Overridepublic CpAppsNodeVO getUserNodes(SSOProviderVO provider,PtCredentialVO credential)String cuserid =credential.getCredentialReference(

44、).getValue("ncuserpk"); try ICustomQueryServicecmqs=new IntHelper(provider.getSystemCode().getSysRmtService(ICustomQueryService.class);CustomShortcutVO conditionVO = new CustomShortcutVO(); conditionVO.setUserId(cuserid);CustomShortcutVOshortcuts = cmqs.queryShortcutsByVO(conditionVO, new

45、Boolean(true);if(shortcuts != null && shortcuts.length > 0)List<CpAppsNodeVO> nodes=new ArrayList<CpAppsNodeVO>(); for(CustomShortcutVO regVO:shortcuts)nodes.add(shortcut2SystemNode(regVO, provider);return nodes.toArray(new CpAppsNodeVO0); 獲取到的功能節(jié)點 catch (Exception e) PortalLo

46、gger.error(NcFunNodeSynHelper.class.getName() + "#getUserNodes:", e);/* 獲得用戶功能節(jié)點* param credential* param provider* return*/public CpAppsNodeVO getUserNodes(SSOProviderVO provider,PtCredentialVO credential) throws CredentialValidateException;大中型企業(yè)與公共組織云平臺3.2. 配置系統(tǒng)功能節(jié)點導入是指門戶可以對其他系統(tǒng)的功能節(jié)點進行集成

47、,集成后的功能節(jié)點跨系統(tǒng)對用戶來說是透明的,目前門戶提供:NC 集團應用(NC) 、門戶(LFW) 、第統(tǒng)的功能節(jié)點集能。在進行功能節(jié)點導入之前需要先添加要導入的系統(tǒng),在“單點登錄設置”節(jié)點中點擊“新增”菜單即可添加要集成的系統(tǒng),示意圖如下:28return null;大中型企業(yè)與公共組織云平臺3.3. 功能節(jié)點集成3.3.1. NC 集團應用(NC)導入門戶的功能節(jié)點時,要選擇“類”是“NC 集成類”的系統(tǒng),同時檢查“設置”菜單里的配置項是否正確和完整,示意圖如下:單點配置,配置項如下所示:在確認上述正確后,即可打 NC 功能節(jié)點同步界面,示意圖如下:29大中型企業(yè)與公共組織云平臺3.3.2

48、. 門戶(LFW)導入門戶的功能節(jié)點時,要選擇“類”是“LFW 項目集成類”的系統(tǒng),同時檢查“設置”菜單里的配置項是否正確和完整,示意圖如下:30大中型企業(yè)與公共組織云平臺在確認上述正確后,即可打開門戶功能節(jié)點同步界面,示意圖如下:3.3.3. 第第的節(jié)點導入是通過節(jié)點的形式完成的,要選擇“類”是“第31大中型企業(yè)與公共組織云平臺統(tǒng)單點認證類”的系統(tǒng),同時檢查“設置”菜單里的配置項是否正確和完整,示意圖如下:添加第“JIRA”:配置“JIRA”的單點:在確認上述正確后,即可打開第功能節(jié)點同步界面,示意圖如下:32大中型企業(yè)與公共組織云平臺點擊確定后即可把節(jié)點“test111”添加到門戶的節(jié)點中

49、,示意圖如下:從上圖可以看出功能節(jié)點已同步,這里也可以對其修改,示意圖如下:33大中型企業(yè)與公共組織云平臺使用同步的功能節(jié)點,把菜單與節(jié)點進行綁定即可,示意圖如下:完成上述綁定后,即可在連接組菜單里看到對應的菜單項,如下圖34大中型企業(yè)與公共組織云平臺點擊“test111”即可打開同步功能節(jié)點的內(nèi)容,如下圖:35大中型企業(yè)與公共組織云平臺第四章消息集成4.1. 集成消息消息接口 get 可以通過消息的 id 獲取第的消息,其定義如下:舉例如下:portal 消息可以通過、開始時間、結(jié)束時間、消息盒、和分頁一個消息集合。接口定義如下:舉例如下:36/* 獲得消息*/public Msg quer

50、y(String category, UFDateTime start, UFDateTime end,MsgBox box, PaginationInfo pi, FromWhereSQL whereSql);public Msg get(String id) 獲取NC消息NCMessage nm = NC61MsgHelper.getNCMessage(id);/* 根據(jù)消息主鍵獲得消息*/public Msg get(String id);大中型企業(yè)與公共組織云平臺4.2. 集成第消息Portal 消息可以集成第的消息,如獲取第消息的數(shù)目、列表、等。獲取消息數(shù)目接口定義:舉例:根據(jù)消息取

51、得該下的消息數(shù)37/* 獲得新消息的數(shù)量,無顯示全部*/public Integer getNewMessageCount(String category);Overridepublic Msg query(String category, UFDateTime start, UFDateTime end, MsgBox box, PaginationInfo pi, FromWhereSQL whereSql) /NC消息集合NCMessage msgs = NC61MsgHelper.getNCMessage(category, box, start,end, null ,pi, NC61MsgHelper.getIntHelper(), NC61MsgHelper.getLocator();大中型企業(yè)與公共組織云平臺4.3. 消息消息是指通過 Portal 消息插件接口獲取所有消息的.接口定義:38/* 獲得支持的列表*/public List<MsgCategory> getCategory

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論