公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范_第1頁
公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范_第2頁
公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范_第3頁
公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范_第4頁
公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范P公司統(tǒng)一權(quán)限平臺系統(tǒng)版本同步適配器集成接口服務(wù)規(guī)范總則范圍為適應(yīng)XX公司進(jìn)一步對企業(yè)身份信息的集成和統(tǒng)一權(quán)限平臺的工作要求,鑒于XX公司需集成的業(yè)務(wù)應(yīng)用權(quán)限模型的多樣性,本規(guī)范(試行)僅適用于現(xiàn)階段指導(dǎo)統(tǒng)一權(quán)限平臺與業(yè)務(wù)應(yīng)用系統(tǒng)接口開發(fā)、實(shí)施。后續(xù)將根據(jù)具體執(zhí)行情況對本規(guī)范進(jìn)行調(diào)整及補(bǔ)充。術(shù)語序號詞匯名稱詞匯定義1ISC_SSO統(tǒng)一認(rèn)證系統(tǒng)2ISC_SSO_AGENTISC-SSO統(tǒng)一認(rèn)證服務(wù)客戶端3數(shù)字證書在因特網(wǎng)上,用來標(biāo)志和證明網(wǎng)絡(luò)通信雙方身份的數(shù)字信息文件。4X.509標(biāo)準(zhǔn)的加密數(shù)字證書格式5REST服務(wù)指的是一組架構(gòu)約束條件和原則:(1)客戶端和服務(wù)器之間的交互在請求之間是無狀態(tài)(2)在服務(wù)器端,應(yīng)用程序狀態(tài)和功能可以分為各種資源(3)使用的是標(biāo)準(zhǔn)的HTTP方法,比如GET、PUT、POST和DELETE表示對資源的操作。滿足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是RESTful,以RESTful方式提供的服務(wù)即為Rest服務(wù)。Rest服務(wù)是WebService的一種實(shí)現(xiàn)方式。6JSONJavaScriptObjectNotation,是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(StandardECMA-2623rdEdition–December1999)的一個(gè)子集。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C,C++,C#,Java,JavaScript,Perl,Python等)。7TGC(Ticket-GrantingCookie)存放用戶身份認(rèn)證憑證的cookie,這個(gè)Cookie是一個(gè)加密的Cookie,其中保存了用戶登錄的信息。用于以后其它應(yīng)用客戶端登錄8ST(ServiceTicket)服務(wù)的惟一標(biāo)識碼。由ISC-SSO服務(wù)端發(fā)出,通過客戶端瀏覽器到達(dá)業(yè)務(wù)服務(wù)器端。一個(gè)特定的服務(wù)只能有一個(gè)惟一的ST參考資料[1]《XX公司企業(yè)經(jīng)營管理應(yīng)用典型設(shè)計(jì)系統(tǒng)集成框架設(shè)計(jì)報(bào)告》[2]《XX公司應(yīng)用集成平臺典型設(shè)計(jì)手冊》[3]《XX公司信息化“SG186”工程-應(yīng)用集成典型設(shè)計(jì)》[4]《XX公司信息化“SG186”工程-數(shù)據(jù)中心典型設(shè)計(jì)》[5]《XX公司信息化“SG186”工程-企業(yè)門戶典型設(shè)計(jì)》總體概述設(shè)計(jì)原則與方法本規(guī)范遵循以下原則制訂:易用性:系統(tǒng)接口邊界劃分清晰,功能界定明確。完整性:保證生產(chǎn)業(yè)務(wù)的連續(xù)和完整性。安全性:從信息安全性角度考慮,符合相關(guān)標(biāo)準(zhǔn)。適用性:按最大需求考慮,滿足不同管理層面的業(yè)務(wù)需求??删S護(hù)性:集成廠商所提供的數(shù)據(jù)同步接口是否可單獨(dú)維護(hù),升級操作時(shí)不需要業(yè)務(wù)系統(tǒng)進(jìn)行服務(wù)重啟,避免一級檢修,提高問題修復(fù)速度。統(tǒng)一權(quán)限模型設(shè)計(jì)概念模型統(tǒng)一權(quán)限平臺的系統(tǒng)模型主要包括:用戶、崗位、基準(zhǔn)組織單元、業(yè)務(wù)組織單元、業(yè)務(wù)角色、組織角色、菜單功能,數(shù)據(jù)資源,權(quán)限策略;其系統(tǒng)模型如下圖:圖1:概念模型視圖模型描述基準(zhǔn)組織與用戶從HR權(quán)威源來的國網(wǎng)的組織、用戶及崗位的數(shù)據(jù),在統(tǒng)一權(quán)限分別稱為基準(zhǔn)組織單元、用戶、崗位三類對象,其詳細(xì)的描述如下:用戶參與到本企業(yè)運(yùn)營的所有人員,并且一人一賬號。角色性質(zhì)的用戶(如:系統(tǒng)管理員)原則上不允許存在。其數(shù)據(jù)分兩部分:A:被人資系統(tǒng)管理的人員數(shù)據(jù)(全民、集體、農(nóng)電員工)B:非人資系統(tǒng)管理的人員數(shù)據(jù)(臨時(shí)員工、外來的臨時(shí)人員)崗位來源于HR權(quán)威源系統(tǒng)的行政崗位,統(tǒng)一權(quán)限系統(tǒng)可用于其作為角色的聚合,并分配給用戶?;鶞?zhǔn)組織單元基準(zhǔn)組織數(shù)據(jù)來源于HR權(quán)威源系統(tǒng),主要由行政組織單元構(gòu)成的組織機(jī)構(gòu)樹,它是其它業(yè)務(wù)應(yīng)用業(yè)務(wù)組織單元形成的基礎(chǔ),并作為統(tǒng)一權(quán)限系統(tǒng)進(jìn)行用戶維護(hù)的部門數(shù)據(jù)業(yè)務(wù)組織體系主要由業(yè)務(wù)組織分類、業(yè)務(wù)組織單元以及業(yè)務(wù)組織性質(zhì)等構(gòu)成,其詳細(xì)的描述如下:業(yè)務(wù)組織體系通常一個(gè)企業(yè)都會存在不同的業(yè)務(wù)模塊或業(yè)務(wù)模型,比如:黨務(wù)管理、工會管理、物資管理、生產(chǎn)管理,通常因?yàn)闃I(yè)務(wù)運(yùn)轉(zhuǎn)的需要業(yè)務(wù)模型會對應(yīng)一套或多套與基準(zhǔn)組織并不完全一致的組織體系。一套業(yè)務(wù)組織體系可以被多個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)共享。業(yè)務(wù)組織單元業(yè)務(wù)組織體系中的業(yè)務(wù)組織單元,它的作用如下:一:作為業(yè)務(wù)應(yīng)用中業(yè)務(wù)數(shù)據(jù)之一使用;二:在業(yè)務(wù)流程中可以以業(yè)務(wù)組織為基礎(chǔ)定義出集團(tuán)內(nèi)部相對通用的參與者。這二個(gè)作用依據(jù)業(yè)務(wù)應(yīng)用系統(tǒng)的需要進(jìn)行取舍,比如:可以把業(yè)務(wù)組織只當(dāng)成業(yè)務(wù)數(shù)據(jù)之一來使用。業(yè)務(wù)組織單元性質(zhì)用于區(qū)分同一業(yè)務(wù)組織體系中不同組織單元的管理層次。如:單位、部門、班組等。角色體系主要包括業(yè)務(wù)角色、組織角色、角色分組,其詳細(xì)描述如下:業(yè)務(wù)角色指要完成該業(yè)務(wù)應(yīng)用的業(yè)務(wù)需要幾種角色來完成,業(yè)務(wù)角色屬于業(yè)務(wù)應(yīng)用,并可以設(shè)置業(yè)務(wù)角色上的功能權(quán)限和數(shù)據(jù)權(quán)限,且它與業(yè)務(wù)組織沒有關(guān)系。組織角色組織角色是具體關(guān)聯(lián)業(yè)務(wù)角色、業(yè)務(wù)組織單元和人的對象,它可以繼承并擴(kuò)展與之對應(yīng)的業(yè)務(wù)角色上的功能權(quán)限和數(shù)據(jù)權(quán)限,同時(shí)它也位于某個(gè)業(yè)務(wù)組織下,并且要在組織角色上分配人員。角色分組用于對業(yè)務(wù)角色的分類管理。業(yè)務(wù)應(yīng)用資源體系授權(quán)針對的對象或資源,主要包括菜單功能、數(shù)據(jù)資源、權(quán)限策略,其詳細(xì)描述如下:菜單功能業(yè)務(wù)應(yīng)用的功能資源,包括菜單、菜單下的功能及其他自定義功能資源。數(shù)據(jù)資源對業(yè)務(wù)應(yīng)用業(yè)務(wù)數(shù)據(jù)的抽象,用于數(shù)據(jù)權(quán)限策略規(guī)則的定義。權(quán)限策略用于描述一類用于數(shù)據(jù)資源權(quán)限控制的規(guī)則。授權(quán)描述統(tǒng)一權(quán)限平臺包含四方面:基準(zhǔn)組織與用戶、業(yè)務(wù)組織體系、角色體系、業(yè)務(wù)應(yīng)用系統(tǒng)功能體系。基準(zhǔn)組織與用戶主要包括:基準(zhǔn)組織與用戶的分配關(guān)系、用戶與企業(yè)角色的分配關(guān)系及企業(yè)角色和基準(zhǔn)組織之間關(guān)系;業(yè)務(wù)組織體系包含:組織體系和業(yè)務(wù)組織之間關(guān)系、業(yè)務(wù)組織和業(yè)務(wù)組織性質(zhì)之間關(guān)系;角色體系主要包括:業(yè)務(wù)角色與組織角色派生關(guān)系、組織角色和業(yè)務(wù)組織之間分配關(guān)系;業(yè)務(wù)應(yīng)用系統(tǒng)功能體系包含:業(yè)務(wù)應(yīng)用系統(tǒng)和功能之間關(guān)系、功能和權(quán)限對象之間關(guān)聯(lián)關(guān)系。授權(quán)管理按照業(yè)務(wù)系統(tǒng)分類管理,各自業(yè)務(wù)系統(tǒng)維護(hù)角色權(quán)限的指派。系統(tǒng)支持分級分層次授權(quán)的管理模式。總體集成關(guān)系統(tǒng)一權(quán)限平臺與業(yè)務(wù)應(yīng)用系統(tǒng)集成方式分兩種:數(shù)據(jù)同步集成方式和系統(tǒng)服務(wù)集成方式。對已建業(yè)務(wù)應(yīng)用系統(tǒng)采用數(shù)據(jù)同步的方式,對新建業(yè)務(wù)應(yīng)用系統(tǒng)采用系統(tǒng)服務(wù)集成方式。數(shù)據(jù)同步集成方式圖2:數(shù)據(jù)同步集成方式關(guān)系圖數(shù)據(jù)同步集成方式主要基于“業(yè)務(wù)應(yīng)用適配器”與業(yè)務(wù)應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)同步集成,數(shù)據(jù)的同步方向?yàn)閱蜗?,以統(tǒng)一權(quán)限平臺數(shù)據(jù)為數(shù)據(jù)源,對各集成業(yè)務(wù)應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)同步。工作分工如下:統(tǒng)一權(quán)限平臺項(xiàng)目組制定業(yè)務(wù)應(yīng)用適配器接口開發(fā)規(guī)范;組織各業(yè)務(wù)應(yīng)用系統(tǒng)開發(fā)商制定數(shù)據(jù)集成實(shí)施方案;組織各業(yè)務(wù)應(yīng)用系統(tǒng)開發(fā)商完成系統(tǒng)集成及聯(lián)調(diào)測試。ESB總線服務(wù)項(xiàng)目組將業(yè)務(wù)應(yīng)用系統(tǒng)的適配器接口服務(wù)注冊到企業(yè)服務(wù)總線;配合完成數(shù)據(jù)同步集成的聯(lián)調(diào)測試。業(yè)務(wù)應(yīng)用系統(tǒng)開發(fā)商在統(tǒng)一權(quán)限平臺項(xiàng)目組指導(dǎo)下完成系統(tǒng)集成實(shí)施方案編制;開發(fā)數(shù)據(jù)同步接口程序;完成數(shù)據(jù)同步集成及聯(lián)調(diào)測試。系統(tǒng)服務(wù)集成方式圖3:系統(tǒng)服務(wù)集成方式關(guān)系圖系統(tǒng)服務(wù)集成方式主要包括兩部分:一是為業(yè)務(wù)應(yīng)用系統(tǒng)提供身份、組織、權(quán)限數(shù)據(jù)的供應(yīng)及維護(hù)功能,二是為業(yè)務(wù)應(yīng)用系統(tǒng)提供權(quán)限驗(yàn)證等服務(wù)。詳細(xì)步驟如下:業(yè)務(wù)應(yīng)用系統(tǒng)將組織機(jī)構(gòu)、角色、功能、權(quán)限對象、數(shù)據(jù)集注冊到統(tǒng)一權(quán)限平臺中,業(yè)務(wù)應(yīng)用系統(tǒng)中不保存這些數(shù)據(jù);用戶訪問業(yè)務(wù)應(yīng)用資源時(shí),業(yè)務(wù)應(yīng)用系統(tǒng)調(diào)用統(tǒng)一權(quán)限平臺提供的接口服務(wù),對用戶請求的資源進(jìn)行權(quán)限校驗(yàn);業(yè)務(wù)應(yīng)用系統(tǒng)根據(jù)需要,可調(diào)用統(tǒng)一權(quán)限平臺提供的服務(wù),查詢組織、角色、資源等相關(guān)信息工作分工如下:統(tǒng)一權(quán)限平臺項(xiàng)目組制定統(tǒng)一權(quán)限接口服務(wù)規(guī)范;編寫基于統(tǒng)一權(quán)限的業(yè)務(wù)系統(tǒng)開發(fā)指南,培訓(xùn)并指導(dǎo)開發(fā)商使用。ESB總線服務(wù)項(xiàng)目組將統(tǒng)一權(quán)限服務(wù)注冊到企業(yè)服務(wù)總線;配合進(jìn)行聯(lián)調(diào)測試。業(yè)務(wù)應(yīng)用系統(tǒng)開發(fā)商根據(jù)統(tǒng)一權(quán)限項(xiàng)目組提供的業(yè)務(wù)系統(tǒng)開發(fā)指南,設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)中功能和數(shù)據(jù)權(quán)限的控制。安全性設(shè)計(jì)1.如果采用ESB總線服務(wù)集成,則ESB總線服務(wù)與業(yè)務(wù)應(yīng)用之間的服務(wù)調(diào)用通信安全遵照ESB總線服務(wù)安全策略集成;2.如果業(yè)務(wù)應(yīng)用與統(tǒng)一權(quán)限平臺項(xiàng)目組集成不通過ESB總線服務(wù),則統(tǒng)一權(quán)限平臺項(xiàng)目組對業(yè)務(wù)應(yīng)用的集成進(jìn)行賬號、口令認(rèn)證并進(jìn)行IP限制相結(jié)合的方式,認(rèn)證賬號、口令、IP在進(jìn)行集成時(shí)由業(yè)務(wù)系統(tǒng)運(yùn)維人員分配。統(tǒng)一認(rèn)證集成規(guī)范安全性和實(shí)現(xiàn)原理安全性用戶只需要一次性錄入用戶名和密碼,之后通過ticket綁定用戶,在ISC-SSO客戶端與ISC-SSO服務(wù)端校驗(yàn)是通過ticket,并不會在網(wǎng)上傳輸密碼,所以可以保證安全性,密碼不被竊取。ISC-SSO服務(wù)端與客戶端通信采用加密數(shù)字證書,以保證通信的安全性(SSL訪問協(xié)議)。實(shí)現(xiàn)原理:1個(gè)cookie+N個(gè)session。ISC-SSO客戶端創(chuàng)建cookie為各應(yīng)用在統(tǒng)一認(rèn)證場景中認(rèn)證時(shí)使用,各應(yīng)用通過在IE創(chuàng)建各自的session來標(biāo)識應(yīng)用是否已經(jīng)登錄。(1)Cookie:在統(tǒng)一認(rèn)證場景中為各應(yīng)用認(rèn)證時(shí)使用,實(shí)現(xiàn)了只需一次錄入用戶密碼。(2)Session:各應(yīng)用會創(chuàng)建自己的session表示是否登錄。認(rèn)證過程說明isc_sso_agent以過濾器的方式保護(hù)業(yè)務(wù)應(yīng)用的受保護(hù)資源,過濾從客戶端過來的每一個(gè)HTTP請求,同時(shí),isc_sso_agent會分析HTTP請求中是否包請求ServiceTicket(圖1中的Ticket),如果沒有,則說明該用戶是沒有經(jīng)過認(rèn)證的,isc_sso_agent會重定向用戶請求到isc_sso(Step2)。Step3是用戶認(rèn)證過程,如果用戶提供了正確的認(rèn)證信息,isc_sso會產(chǎn)生一個(gè)隨機(jī)的ServiceTicket,會發(fā)送一個(gè)Ticketgrantingcookie(TGC)給用戶的瀏覽器,并且重定向到isc_sso_agent(附帶剛才產(chǎn)生的ServiceTicket)。Step5和Step6是isc_sso_agent和isc_sso之間完成了一個(gè)對用戶的身份核實(shí),用Ticket查到用戶信息(目錄中的用戶屬性,用Json格式返回給客戶端),認(rèn)證通過。圖3是ISC-SSO最基本的協(xié)議過程:ISC_SSO客戶端是指接入到統(tǒng)一認(rèn)證系統(tǒng)的業(yè)務(wù)系統(tǒng)ISC_SSO服務(wù)端是指統(tǒng)一認(rèn)證服務(wù)器LDAP目錄服務(wù)器用于儲存用戶賬號信息MemCached高速緩存用于儲存已登錄用戶的賬號密碼圖3:基礎(chǔ)協(xié)議圖認(rèn)證時(shí)序圖(圖2:)具體實(shí)現(xiàn)方法導(dǎo)入證書統(tǒng)一認(rèn)證需要在業(yè)務(wù)系統(tǒng)中間件導(dǎo)入證書,以及在訪問業(yè)務(wù)系統(tǒng)的客戶端安裝證書,證書的獲?。ㄓ煽偛拷y(tǒng)一下發(fā)證書給各網(wǎng)?。?dǎo)入、安裝如下:域名訪問統(tǒng)一認(rèn)證采用域名訪問的方式,請先和網(wǎng)省現(xiàn)場統(tǒng)一權(quán)限負(fù)責(zé)人確認(rèn),網(wǎng)省是否配置了域名服務(wù)器,可以解析的域名。如果未配置,無法解析的域名,則需要如下操作:修改本地hosts文件,映射統(tǒng)一認(rèn)證服務(wù)端ip地址與證書域名,如圖:注意該IP地址,請聯(lián)系相應(yīng)網(wǎng)省現(xiàn)場的統(tǒng)一權(quán)限方負(fù)責(zé)人。Linux的Hosts文件地址如:/etc/hostswindows的Hosts文件地址如:C:\WINDOWS\system32\drivers\etc\hosts業(yè)務(wù)系統(tǒng)中間件jdk導(dǎo)入統(tǒng)一認(rèn)證的證書將.1步驟獲取的證書拷貝到中間件服務(wù)器的某一路徑下(如:/isc/iscserver.cer)打開字符終端,切換到與當(dāng)前JAVA_HOME環(huán)境變量對應(yīng)的JDK目錄的bin目錄下(如:cd/root/Oracle/Middleware/jdk160_29/bin),若無JAVA_HOME環(huán)境變量,則使用weblogic下的jdk和jrockit導(dǎo)入,這兩個(gè)都要執(zhí)行一次導(dǎo)入證書,詳細(xì)路徑見下方注意事項(xiàng)中描述。利用keytool工具執(zhí)行下面的命令。./keytool-import-trustcacerts-aliasiscsso-file/isc/iscserver.cer-keystore/root/Oracle/Middleware/jdk160_29/jre/lib/security/cacerts-storepasschangeit這個(gè)命令是將當(dāng)前位于/isc目錄下的iscserver.cer證書文件導(dǎo)入到一個(gè)名為cacerts的文件當(dāng)中,這個(gè)文件的路徑如藍(lán)字描述,需要修改為當(dāng)前JDK目錄下的jre/lib/security目錄下(一定要是JDK目錄下的JRE目錄,而不能是與JDK平級的JRE目錄)。注意:這里的例子都是Linux環(huán)境的路徑,windows環(huán)境請自行修改為與之匹配的路徑。這里的JAVA_HOME環(huán)境變量是指中間件(tomcat、weblogic)所引用的jdk路徑,linux下可使用echo$JAVA_HOME查看是否有該環(huán)境變量設(shè)置,若無JAVA_HOME環(huán)境變量設(shè)置,則需要在weblogic下的jdk和jrockit均執(zhí)行該命令追加導(dǎo)入證書。Weblogic9導(dǎo)入證書路徑如…./bea/jdk150_04/jre/lib/security…/bea/jrockit90_150_04/jre/lib/securityWeblogic10導(dǎo)入證書路徑如…./Oracle/Middleware/jdk160_29/jre/lib/security…/Oracle/Middleware/jrockit_160_29_D1.2.0-10/jre/lib/securitytomcat導(dǎo)入證書路徑是JAVA_HOME環(huán)境變量所對應(yīng)的jdk環(huán)境。執(zhí)行這個(gè)命令,在提示地方輸入"y"即完成cacerts文件的創(chuàng)建工作。上述過程的執(zhí)行例子如下:對weblogic中jdk下導(dǎo)入證書:cd/root/Oracle/Middleware/jdk160_29/bin./keytool-import-trustcacerts-aliasiscsso-file/isc/iscserver.cer-keystore/root/Oracle/Middleware/jdk160_29/jre/lib/security/cacerts-storepasschangeit執(zhí)行結(jié)果類似下圖:對weblogic中jrocket下導(dǎo)入證書:cd/root/Oracle/Middleware/jrockit_160_29_D1.2.0-10/bin./keytool-import-trustcacerts-aliasiscsso-file/isc/iscserver.cer-keystore/root/Oracle/Middleware/jrockit_160_29_D1.2.0-10/jre/lib/security/cacerts-storepasschangeit執(zhí)行結(jié)果類似下圖:訪問業(yè)務(wù)系統(tǒng)的客戶端瀏覽器安裝統(tǒng)一認(rèn)證的證書在統(tǒng)一權(quán)限集成上線后,用戶登錄業(yè)務(wù)系統(tǒng),默認(rèn)會跳轉(zhuǎn)到統(tǒng)一認(rèn)證登錄界面,在該界面也可以通過下載鏈接下載證書,安裝到客戶端瀏覽器中。雙擊證書“iscserver.cer”,點(diǎn)擊“安裝證書…”,點(diǎn)擊“下一步”,選擇“將所有的證書放入下列存儲“,選擇”受信任的根證書頒發(fā)機(jī)構(gòu)“,如圖:點(diǎn)擊“確定”后,彈出的對話框,選擇“是”,點(diǎn)擊“下一步”,點(diǎn)擊“完成”??蛻舳顺绦蜷_發(fā)配置過程基于Filter的實(shí)現(xiàn)方式客戶端系統(tǒng)在接入SSO統(tǒng)一認(rèn)證系統(tǒng)時(shí),只需要在工程中加入SSO客戶端核心jar包,引入SSO過濾器filter,再實(shí)現(xiàn)少量業(yè)務(wù)邏輯就可以完成接入,詳細(xì)過程如下:增加過濾器過濾受保護(hù)的客戶端頁面資源將isc_sso_agent.jar包引入到工程類路徑中,修改web.xml增加SSO過濾器,在web.xml中增加如下代碼片段:<!--統(tǒng)一認(rèn)證--><filter><filter-name>IscSingleSignOutFilter</filter-name><filter-class>com.sgcc.isc.ualogin.client.filter.IscSingleSignOutFilter</filter-class></filter><filter-mapping><filter-name>IscSingleSignOutFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><listener><listener-class>com.sgcc.isc.ualogin.client.listener.IscSingleSignOutHttpSessionListener</listener-class></listener><filter><filter-name>AuthenticationFilter</filter-name><filter-class>com.sgcc.isc.ualogin.client.filter.IscSSOAuthenticationFilter</filter-class><init-param><!--統(tǒng)一認(rèn)證訪問地址--><param-name>serverLoginUrl</param-name><param-value>:7002/isc_sso/login</param-value></init-param><init-param><!—業(yè)務(wù)系統(tǒng)訪問地址--><param-name>serverName</param-name><param-value>http://host:7001</param-value></init-param></filter><filter-mapping><filter-name>AuthenticationFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>ValidationFilter</filter-name><filter-class>com.sgcc.isc.ualogin.client.filter.IscSSO20ProxyReceivingTicketValidationFilter</filter-class><init-param><!--統(tǒng)一認(rèn)證訪問地址--><param-name>serverUrlPrefix</param-name><param-value>:7002/isc_sso/</param-value></init-param><init-param><!—業(yè)務(wù)系統(tǒng)訪問地址--><param-name>serverName</param-name><param-value>http://host:7001</param-value></init-param></filter><filter-mapping><filter-name>ValidationFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>HttpServletRequestWrapperFilter</filter-name><filter-class>com.sgcc.isc.ualogin.client.filter.IscSSOHttpServletRequestWrapperFilter</filter-class></filter><filter-mapping><filter-name>HttpServletRequestWrapperFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>AssertionThreadLocalFilter</filter-name><filter-class>com.sgcc.isc.ualogin.client.filter.IsoSSOAssertionThreadLocalFilter</filter-class></filter><filter-mapping><filter-name>AssertionThreadLocalFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><session-config><session-timeout>30</session-timeout></session-config><!--統(tǒng)一認(rèn)證-->通過SSO客戶端API取用戶信息,代碼示例如下:IscSSOUserBeanuserbean=IscSSOResourceUtil.getIscUserBean(req);//參數(shù)是javax.servlet.http.HttpServletRequest基于corejavaobjects的實(shí)現(xiàn)方式可以在登錄模塊中加入以下代碼,接入到統(tǒng)一認(rèn)證系統(tǒng):/*判斷ticket是否存在,不存在重定向到統(tǒng)一認(rèn)證客戶端*/if(null==request.getParameter("ticket")||"".equals(request.getParameter("ticket"))){/*重定向到統(tǒng)一認(rèn)證服務(wù)端,service參數(shù)是業(yè)務(wù)系統(tǒng)LoginModule請求地址*/response.sendRedirect(":7002/isc_sso/login?service=:8082/sap_sso/login");return;}/*ticket校驗(yàn)器*/IscServiceTicketValidatorsv=newIscServiceTicketValidator();/*統(tǒng)一認(rèn)證服務(wù)端校驗(yàn)器地址*/sv.setCasValidateUrl(":7002/isc_sso/serviceValidate");/*業(yè)務(wù)系統(tǒng)LoginModule訪問地址*/sv.setService(":8082/sap_sso/login");/*設(shè)置Ticket*/sv.setServiceTicket(request.getParameter("ticket"));/*校驗(yàn)*/try{sv.validate();}catch(SAXExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(ParserConfigurationExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}xmlResponse=sv.getResponse();if(sv.isAuthenticationSuccesful()){user=sv.getUser();}else{errorCode=sv.getErrorCode();errorMessage=sv.getErrorMessage();/*handletheerror*/System.out.println("errorInfo>"+errorCode+"\r\n"+errorMessage);}System.out.println("userinfo>>>>>>>>>>>>"+user);IscSSOUserBeaniscSSOUserBean=null;try{/*獲取當(dāng)前用戶登錄信息*/iscSSOUserBean=IscSSOResourceUtil.transferIscUserBean(user);/*當(dāng)前登錄用戶ID*/Stringuserid=iscSSOUserBean.getIscUserId();System.out.println(userid);/*當(dāng)前登錄用戶賬號*/StringloginName=iscSSOUserBean.getIscUserSourceId();System.out.println(loginName);}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}數(shù)據(jù)同步集成接口規(guī)范數(shù)據(jù)同步接口格式由統(tǒng)一權(quán)限平臺提供“統(tǒng)一的接口規(guī)范”,各個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)均按該規(guī)范生成Webservice接口供統(tǒng)一權(quán)限平臺進(jìn)行調(diào)用,在調(diào)用后返回以下統(tǒng)一的返回值:輸入同步數(shù)據(jù)需要推送到各業(yè)務(wù)應(yīng)用系統(tǒng)的權(quán)限相關(guān)數(shù)據(jù)輸出輸出結(jié)果為XML數(shù)據(jù),其XML格式如下:<?xmlversion="1.0"encoding="UTF-8"?><!--result:執(zhí)行情況0:成功1:失敗--><isc><result>1</result><time>2012-11-1111:11:11:000</time><!--時(shí)間戳--><description>失敗原因:**</description><!--失敗原因,執(zhí)行成功時(shí)可為空-></isc> 接口中的輸入?yún)?shù)描述,詳見4.2章節(jié)。接口列表交換數(shù)據(jù)模型圖6:交換數(shù)據(jù)模型圖數(shù)據(jù)同步范圍統(tǒng)一授權(quán)系統(tǒng)原則上只允許對角色進(jìn)行授權(quán),其中角色分為業(yè)務(wù)角色和業(yè)務(wù)組織角色兩種類型。實(shí)體對象O.業(yè)務(wù)組織機(jī)構(gòu)。U.用戶R.業(yè)務(wù)角色RG.角色組P.業(yè)務(wù)組織角色。D.數(shù)據(jù)集。DT.數(shù)據(jù)類型。F.功能。W.權(quán)限對象。關(guān)系O-U關(guān)系:用戶與組織機(jī)構(gòu)的關(guān)系。O-R關(guān)系:用戶所對應(yīng)的多個(gè)業(yè)務(wù)角色關(guān)系。U-P關(guān)系:用戶所對應(yīng)的業(yè)務(wù)組織角色關(guān)系。O-P關(guān)系:業(yè)務(wù)組織角色與組織機(jī)構(gòu)的關(guān)系。R-F關(guān)系:業(yè)務(wù)角色的各種授權(quán)關(guān)系。P-D、P-F、P-W關(guān)系:業(yè)務(wù)組織角色的各種分級授權(quán)關(guān)系。數(shù)據(jù)接口規(guī)范詳細(xì)接口定義以此wsdl文件為準(zhǔn),見附件isc_servicesv1.0.wsdl。數(shù)據(jù)同步提示:當(dāng)業(yè)務(wù)應(yīng)用系統(tǒng)收到新增或修改的數(shù)據(jù)時(shí),首先判斷此數(shù)據(jù)在業(yè)務(wù)應(yīng)用系統(tǒng)是否存在,如果存在則更新數(shù)據(jù),如果不存在則新增數(shù)據(jù);當(dāng)業(yè)務(wù)應(yīng)用系統(tǒng)收到刪除的數(shù)據(jù)時(shí),首先判斷此數(shù)據(jù)在業(yè)務(wù)應(yīng)用系統(tǒng)是否存在,如果不存在,則不處理,如果存在則在業(yè)務(wù)應(yīng)用系統(tǒng)中刪除此數(shù)據(jù)。U.用戶(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間用戶數(shù)據(jù)接口syncUser<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注USER_ID用戶IDStringTRUE32統(tǒng)一權(quán)限平臺的唯一IDLOGIN_NAME用戶登錄名StringTRUE100REAL_NAME姓名StringTRUE20USER_STATUS用戶狀態(tài)StringTRUE1BIZORG_ID所屬部門的IDStringTRUE320..n,對需要用戶和組織關(guān)系的系統(tǒng)才進(jìn)行推送GENDER性別String8IDENTITY_NO身份證號String30BIRTHDAY生日String10格式Y(jié)YYY-MM-DDMOBILE手機(jī)String30OFFICE_PHONE辦公座機(jī)String30EMAIL用戶郵件String40EMPLOY_NO工號String30POSITION_CODE崗位編碼String8POSITION_NAME崗位名稱String30JOB職稱String80DUTY職務(wù)String30DEGREE_CODE文化程度String30COMMENTS備注String256UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注BASE_ORG_ID基準(zhǔn)組織機(jī)構(gòu)IDString32基準(zhǔn)組織機(jī)構(gòu)IDBASEORGNAME基準(zhǔn)組織機(jī)構(gòu)名稱String100基準(zhǔn)組織機(jī)構(gòu)名稱APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDSAP_HR_USER_ID人資編碼String32人資編碼O.業(yè)務(wù)組織機(jī)構(gòu)(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間業(yè)務(wù)組織數(shù)據(jù)接口syncBizOrganization<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注BIZORG_ID組織IDStringTRUE32統(tǒng)一權(quán)限平臺的唯一IDBIZORG_CODE單位編號String60當(dāng)該對象是單位時(shí),傳入國網(wǎng)統(tǒng)一的單位編號;當(dāng)該對象是部門時(shí)為空BIZORG_NAME組織名稱StringTRUE200SHORT_NAME組織簡稱String200BIZORG_CATLOG組織種類String11:單位2:部門BIZORG_TYPE組織類型StringTRUE30如:市公司、抄表班PARENT_BIZORG_ID上級組織編碼String32SORT_NO排序號String30同級排序BASE_ORG_CODE基準(zhǔn)組織編碼String120對應(yīng)基準(zhǔn)組織體系中組織編碼BIZORG_DESC組織描述String250UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注PARENT_PORT_ORG上級對口部門String32上級對口部門APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDSAP_HR_ORG_ID人資編碼String32人資編碼RG.業(yè)務(wù)角色分組(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間業(yè)務(wù)角色分組同步接口syncBizRoleGroup<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注BIZROLEGROUP_ID業(yè)務(wù)角色分組IDStringTRUE32統(tǒng)一授權(quán)系統(tǒng)的唯一IDBIZROLEGROUP_NAME業(yè)務(wù)角色分組名稱StringTRUE60UPDATE_DATE最后更新時(shí)間StringTRUE81格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDR.業(yè)務(wù)角色(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間業(yè)務(wù)角色數(shù)據(jù)接口syncBizRole<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注BIZROLE_ID業(yè)務(wù)角色I(xiàn)DStringTRUE32統(tǒng)一授權(quán)系統(tǒng)的唯一IDBIZROLE_NAME業(yè)務(wù)角色名稱StringTRUE100BIZROLEGROUP_ID業(yè)務(wù)角色分組IDStringTRUE32UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDP.業(yè)務(wù)組織角色(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間業(yè)務(wù)組織角色數(shù)據(jù)接口syncBizOrgRole<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注BIZORGROLE_ID業(yè)務(wù)組織角色I(xiàn)DStringTRUE32BIZORGROLE_NAME業(yè)務(wù)組織角色名稱StringTRUE100BIZROLE_ID業(yè)務(wù)角色I(xiàn)DStringTRUE32BIZORG_ID所屬部門的IDStringTRUE32UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除String11:已刪除EXTENDS擴(kuò)展信息1000擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDDT.數(shù)據(jù)類型(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間數(shù)據(jù)類型數(shù)據(jù)接口syncDataType<=100ms/條<=200ms/條(2)參數(shù)定義數(shù)據(jù)類型字段描述信息如下:屬性名稱字段類型必填字段長度備注DATATYPE_ID數(shù)據(jù)類型IDStringTRUE32DATATYPE_NAME數(shù)據(jù)類型名稱StringTRUE30DATATYPE_CODE數(shù)據(jù)類型編碼StringTRUE30UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDD.數(shù)據(jù)集(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間數(shù)據(jù)集數(shù)據(jù)接口syncDataSet<=100ms/條<=200ms/條(2)參數(shù)定義數(shù)據(jù)集字段描述信息如下:屬性名稱字段類型必填字段長度備注DATASET_ID數(shù)據(jù)集IDStringTRUE32DATASET_NAME數(shù)據(jù)集名稱StringTRUE30DATASET_CODE數(shù)據(jù)集編碼String30通過固定格式字符串存放數(shù)據(jù)集在業(yè)務(wù)應(yīng)用系統(tǒng)的詳細(xì)屬性DATATYPE_ID數(shù)據(jù)類型IDStringTRUE32UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息1000擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDW.權(quán)限對象(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間權(quán)限對象數(shù)據(jù)接口syncResource<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注RES_ID權(quán)限對象IDStringTRUE32RES_NAME權(quán)限對象名稱StringTRUE30RES_CODE權(quán)限對象編碼String100FUNC_ID功能IDString32RES_INFO權(quán)限對象詳細(xì)數(shù)據(jù)String1000通過固定格式字符串存放權(quán)限對象在業(yè)務(wù)應(yīng)用系統(tǒng)的詳細(xì)屬性SORT_NO排序號String同級排序UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDF.功能(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間功能數(shù)據(jù)接口syncFunction<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注FUNC_ID功能IDStringTRUE32FUNC_NAME功能名稱StringTRUE60FUNC_URL業(yè)務(wù)處理鏈接String200PARENT_FUNC_ID上級功能IDString32FUNC_INFO功能詳細(xì)數(shù)據(jù)String300通過固定格式字符串存放功能在業(yè)務(wù)應(yīng)用系統(tǒng)的詳細(xì)屬性SORT_NO排序號String30同級排序FUNC_STATUS功能狀態(tài)StringTRUE1Y啟用N禁用IS_LEAF是否末級節(jié)點(diǎn)String10否1是UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09IS_DELETED是否已刪除StringTRUE11:已刪除EXTENDS擴(kuò)展信息擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDU-R.用戶與業(yè)務(wù)角色關(guān)系(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間用戶與業(yè)務(wù)角色關(guān)系數(shù)據(jù)接口syncBizRoleOfUser<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注USER_ID用戶IDStringTRUE32BIZROLE_ID業(yè)務(wù)角色I(xiàn)DStringTRUE1000數(shù)組UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDU-P.用戶與業(yè)務(wù)組織角色關(guān)系(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間用戶與業(yè)務(wù)組織角色關(guān)系數(shù)據(jù)接口syncBizOrgRoleOfUser<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注USER_ID用戶IDStringTRUE32BIZORGROLE_ID業(yè)務(wù)組織角色I(xiàn)DStringTRUE1000數(shù)組BIZORG_ID組織IDString1000UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDR-F.業(yè)務(wù)角色與功能授權(quán)關(guān)系(1)接口設(shè)計(jì)接口描述接口方法平均響應(yīng)時(shí)間最高響應(yīng)時(shí)間業(yè)務(wù)角色與功能授權(quán)關(guān)系數(shù)據(jù)接口syncFunctionOfBizRole<=100ms/條<=200ms/條(2)參數(shù)定義字段描述信息如下:屬性名稱字段類型必填字段長度備注BIZROLE_ID業(yè)務(wù)角色I(xiàn)DStringTRUE32FUNC_ID功能IDStringTRUE1000數(shù)組UPDATE_DATE最后更新時(shí)間StringTRUE18格式如:2011-01-0112:12:09EXTENDS擴(kuò)展信息1000以key-value形式的XML字符串對參數(shù)進(jìn)行擴(kuò)展擴(kuò)展屬性 屬性名稱字段類型字段長度備注APP_ID業(yè)務(wù)系統(tǒng)IDString32業(yè)務(wù)系統(tǒng)IDR-W.業(yè)務(wù)角色與權(quán)限對象授權(quán)關(guān)系(1)接口設(shè)計(jì)接口描

溫馨提示

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

評論

0/150

提交評論