版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、用戶身份統(tǒng)一認證系統(tǒng)技術(shù)實現(xiàn)方案用戶身份統(tǒng)一認證系統(tǒng) 西安維信軟件有限公司2014年4月22日目 錄一、認證中心的主要功能:3二、認證中心的設(shè)計要求:3三、對業(yè)務(wù)系統(tǒng)的要求:4四、認證中心的登錄4五、SSO驗證實現(xiàn)過程5六、接口設(shè)計7七、業(yè)務(wù)系統(tǒng)的集成工作10一、 認證中心的主要功能:1) 用戶登錄認證(平臺機構(gòu)、用戶名和密碼的校驗、數(shù)字證書簽名校驗、實時短信校驗)2) 憑證生成和傳遞3) 憑證有效性檢查4) 記錄日志、提供審計5) 關(guān)聯(lián)系統(tǒng)信息的維護6) 證書的管理和公共服務(wù)二、 認證中心的設(shè)計要求:1) 考慮到憑證的安全性,引入了加密和數(shù)字簽名技術(shù);2) 不提供注冊功能,而是分別在各自應(yīng)用
2、進行注冊,但提供到各個系統(tǒng)的注冊鏈接;3) 注銷系統(tǒng)時,只需清除認證中心的Session信息即可,其它已經(jīng)通過認證登錄過的業(yè)務(wù)系統(tǒng)不受影響;4) 各應(yīng)用系統(tǒng)的用戶信息分別各自管理,綜合接入平臺提供平臺統(tǒng)一機構(gòu)和統(tǒng)一用戶信息的生成和維護功能,并提供平臺統(tǒng)一用戶和應(yīng)用系統(tǒng)用戶的綁定功能;5) 認證中心專有憑證模塊負責(zé)憑證的創(chuàng)建,解析及驗證,并對外提供服務(wù)接口;6) 業(yè)務(wù)系統(tǒng)可根據(jù)憑證得到用戶的相關(guān)信息,比如業(yè)務(wù)系統(tǒng)用戶機構(gòu)、用戶名等信息,認證中心對外提供用戶信息獲取服務(wù);7) 提供應(yīng)用系統(tǒng)管理功能,方便統(tǒng)計登錄行為,提供審計和日志功能,方便將其他應(yīng)用系統(tǒng)經(jīng)過簡單配置,就可加入認證整合系統(tǒng)中,方便證
3、書的注冊、注銷、查詢等;8) 為了確保認證中心的健壯,系統(tǒng)支持熱備份等功能。三、 對業(yè)務(wù)系統(tǒng)的要求:1) 憑證信息的相互傳送都是已加密的方式進行傳送,即使憑證信息被截取到,也無法解析到憑證信息中的內(nèi)容,各業(yè)務(wù)系統(tǒng)只可使用自己的私鑰才可以解密憑證信息;2) 業(yè)務(wù)系統(tǒng)不可以每次都去認證中心驗證,所以可將憑證保存在會話中,即Session的方式;3) 業(yè)務(wù)系統(tǒng)不要過于復(fù)雜,以方便和現(xiàn)有系統(tǒng)的整合,建議采用過濾器或Servlet方式;4) 由于業(yè)務(wù)系統(tǒng)的權(quán)限管理機制可能不同,故認證中心不做權(quán)限管理,由業(yè)務(wù)系統(tǒng)自己負責(zé);5) 業(yè)務(wù)系統(tǒng)和認證中心的通信采用Web Services 接口服務(wù)。四、 認證中心
4、的登錄業(yè)務(wù)系統(tǒng)要使用認證中心進行驗證操作,第一次需要登錄一次認證中心,之后的認證的操作則不需要再次登錄認證中心。當認證中心登錄成功之后,用戶便可在認證中心的“業(yè)務(wù)應(yīng)用列表”當中選擇相應(yīng)的業(yè)務(wù)系統(tǒng),進行業(yè)務(wù)系統(tǒng)的用戶登錄驗證操作。五、 SSO驗證實現(xiàn)過程1、 當用戶要使用認證中心進行業(yè)務(wù)系統(tǒng)的統(tǒng)一認證時候,分為兩種情況:a) 用戶未登錄過統(tǒng)一認證系統(tǒng)此時用戶的瀏覽器界面首先會跳轉(zhuǎn)到認證中心的登錄地址,用戶輸入相關(guān)的登錄信息(機構(gòu)號、柜員號、密碼、短信效驗碼等),待驗證通過后,則會跳轉(zhuǎn)到認證中心的“業(yè)務(wù)系統(tǒng)列表”頁面;b) 用戶已登錄過統(tǒng)一認證系統(tǒng)如果用戶之前已經(jīng)登錄過認證中心,則當前用戶的瀏覽器
5、頁面會直接跳轉(zhuǎn)到“業(yè)務(wù)系統(tǒng)列表”。2、 當進入到“業(yè)務(wù)系統(tǒng)列表”之后,用戶通過選擇相應(yīng)的業(yè)務(wù)系統(tǒng),然后頁面會跳轉(zhuǎn)到業(yè)務(wù)系統(tǒng)中“用于重定向到SSO驗證服務(wù)認證地址的轉(zhuǎn)發(fā)地址”,跳轉(zhuǎn)完成后,業(yè)務(wù)系統(tǒng)自身會生成一個用于驗證本次認證請求的隨機碼,并攜帶認證中心所提供的應(yīng)用編號,向認證中心發(fā)起一次用戶驗證請求(即將頁面重定向到認證中心所提供的“用于業(yè)務(wù)系統(tǒng)請求SSO驗證服務(wù)的認證地址”)。3、 當認證中心接收到業(yè)務(wù)系統(tǒng)發(fā)起的用戶驗證請求后,首先認證中心會從SSO服務(wù)端的Session中獲取到當前所登錄用戶的用戶信息,然后再從業(yè)務(wù)系統(tǒng)的請求當中接收到由業(yè)務(wù)系統(tǒng)所發(fā)送的隨機碼和應(yīng)用編號,根據(jù)認證中心登陸的用
6、戶編號,業(yè)務(wù)系統(tǒng)的應(yīng)用編號,從數(shù)據(jù)庫查詢到業(yè)務(wù)系統(tǒng)所需要的映射用戶信息。然后再將業(yè)務(wù)系統(tǒng)所發(fā)送的隨機碼等信息通過相關(guān)加密方式生成一個用于本次業(yè)務(wù)系統(tǒng)登錄認證的憑證信息,返還給業(yè)務(wù)系統(tǒng)。4、 業(yè)務(wù)系統(tǒng)通過回調(diào)地址接收到認證中心所返回的憑證信息,然后對其的可用性進行檢測(驗簽、隨機碼比對、憑證可用性效驗等)。如果當前憑證信息正確無誤且可用,則對其進行解密。隨后業(yè)務(wù)系統(tǒng)根據(jù)自己的需求,從憑證信息中獲取到相應(yīng)的用戶信息,加載自己系統(tǒng)的用戶權(quán)限、菜單等信息,跳轉(zhuǎn)到業(yè)務(wù)系統(tǒng)自身的系統(tǒng)界面,即完成了一次SSO登錄驗證過程。六、 接口設(shè)計1) 憑證的設(shè)計(算法、結(jié)構(gòu))a) 憑證采用RAS非對稱密碼算法,服務(wù)端
7、采用電子信封和數(shù)字簽名生成一個用于業(yè)務(wù)系統(tǒng)登錄驗證的憑證信息;b) 憑證的數(shù)據(jù)采用JSON格式存儲,結(jié)構(gòu)包括:i. 當驗證成功后,返回響應(yīng)碼(00)和驗證通過的用戶信息憑證,如:響應(yīng)碼"user":"brhId":"用戶機構(gòu)編號","userId":"用戶編號","caSerialId":"CA證書序列號",ssoUseId:”SSO用戶編號”,"tokenMark":"憑證唯一標識","clientMar
8、k":"業(yè)務(wù)系統(tǒng)所生成的隨機碼","signData":"簽名值";ii. 當驗證失敗后,則返回響應(yīng)碼和未通過驗證的異常信息憑證;響應(yīng)碼"errInfo":"詳細的異常信息說明"。響應(yīng)碼說明:響應(yīng)碼響應(yīng)碼詳細說明00驗證通過01代表當前所請求的應(yīng)用信息不存在;02代碼當前所請求的應(yīng)用暫時不可用;03代表當前所請求的應(yīng)用在SSO服務(wù)端暫為添加映射用戶信息;04代表當前所請求的應(yīng)用在SSO服務(wù)端中的映射用戶信息不可用;09其他異常信息;2) 認證中心提供用于業(yè)務(wù)系統(tǒng)請求SSO驗證服務(wù)的認證
9、地址業(yè)務(wù)系統(tǒng)每次使用SSO驗證服務(wù),需請求以下鏈接:http:/serverIp:port/verificationApp?appId=應(yīng)用編號&clientMark=業(yè)務(wù)系統(tǒng)隨機碼 應(yīng)用編號將會由SSO服務(wù)提供,業(yè)務(wù)系統(tǒng)隨機碼由業(yè)務(wù)系統(tǒng)自身生成。3) 業(yè)務(wù)系統(tǒng)提供用于重定向到SSO驗證服務(wù)認證地址的轉(zhuǎn)發(fā)地址當需要進行登錄驗證時,SSO系統(tǒng)首先跳轉(zhuǎn)到此地址,然后由業(yè)務(wù)系統(tǒng)自身生成一個隨機碼,并攜帶認證系統(tǒng)所分配給自己的應(yīng)用編號,重定向到認證中心所提供的用于業(yè)務(wù)系統(tǒng)請求SSO驗證服務(wù)的認證地址:http:/clientIp:port/SSOLoginRedirect4) 業(yè)務(wù)系統(tǒng)提供接收
10、服務(wù)端返回憑證的回調(diào)地址 http:/clientIp:port/SSOLoginServlet 接收服務(wù)端返回的憑證(String):響應(yīng)碼+憑證業(yè)務(wù)應(yīng)用系統(tǒng)讀取響應(yīng)碼判斷憑證是否正確返回,解密憑證讀取隨機碼(clientMark),驗證隨機碼是否是業(yè)務(wù)系統(tǒng)生成。5) 認證中心提供業(yè)務(wù)系統(tǒng)用于驗證本次憑證相關(guān)信息的WebService接口地址當業(yè)務(wù)通過回調(diào)地址接收到SSO服務(wù)端的憑證信息后,需要對憑證信息進行相關(guān)的驗證操作,此時就需要調(diào)用SSO服務(wù)端的WebService接口進行驗證,此接口地址為:http:/serverIp:port/service/SSOService?wsdl調(diào)用方法
11、及說明:方法名稱方法說明方法參數(shù)返回結(jié)果verificationToken用于驗證憑證信息是否可用String,憑證唯一標識(唯一標識為憑證信息中的tokenMark值)Boolean,憑證是否可用6) 認證中心提供業(yè)務(wù)系統(tǒng)用于本地驗簽,解密數(shù)據(jù)相關(guān)方法相關(guān)的方法都位于sso_client.jar文件當中。方法名稱方法說明方法參數(shù)返回結(jié)果verificationSign用于驗證憑證信息是否由SSO服務(wù)端所發(fā)送String,SSO服務(wù)端返回的憑證信息Boolean,驗簽結(jié)果deAppToken用于解密服務(wù)端所返回的憑證信息中的數(shù)據(jù)String,SSO服務(wù)端返回的憑證信息String,解密后的憑證
12、信息7) 認證中心提供業(yè)務(wù)系統(tǒng)用于調(diào)用SSO驗證服務(wù)所需的配置文件業(yè)務(wù)系統(tǒng)調(diào)用SSO驗證服務(wù)所有所需的相關(guān)配置參數(shù)均存放于ssoCperties文件當中,文件當中主要包含以下幾條屬性信息:serviceUrl:業(yè)務(wù)系統(tǒng)用于調(diào)用SSO驗資服務(wù)的遠程WebService地址;privateKey:業(yè)務(wù)系統(tǒng)用于驗簽,解密服務(wù)端返回憑證信息的私鑰信息。七、 業(yè)務(wù)系統(tǒng)的集成工作業(yè)務(wù)系統(tǒng)如要整合SSO用戶驗證系統(tǒng),需要按以下步驟對現(xiàn)有業(yè)務(wù)系統(tǒng)進行改造,為了各業(yè)務(wù)系統(tǒng)更方便的整合SSO用戶驗證服務(wù),以下步驟中會出現(xiàn)部分代碼示例,其中的代碼可能對部分業(yè)務(wù)系統(tǒng)并不適用,各業(yè)務(wù)系統(tǒng)也可以更具具體
13、情況更改其中的代碼。1、 將相關(guān)的JAR包、配置文件添加到項目當中:Ø sso_client.jar(該JAR包用于調(diào)用遠程SSO服務(wù)端相關(guān)驗證接口);Ø WebService相關(guān)JAR包,由于SSO服務(wù)端的WebService服務(wù)采用Xfire方式,所以業(yè)務(wù)系統(tǒng)需要自行添加Xfire的相關(guān)JAR包文件;Ø 將ssoCperties文件拷貝到業(yè)務(wù)系統(tǒng)的src目錄下,并根據(jù)情況修改其中的參數(shù)。2、 集成判斷用戶在線狀態(tài)功能: 可以通過Filter等技術(shù)方式,判斷業(yè)務(wù)系統(tǒng)的用戶是否已登錄。如果未登錄,調(diào)轉(zhuǎn)到SSO的認證地址http:/serverIp
14、:port/verificationApp?appId=應(yīng)用編號。3、 集成憑證接收、處理、頁面重定向功能:在業(yè)務(wù)系統(tǒng)的web.xml文件中增加以下內(nèi)容: <servlet> <servlet-name>SSOLoginRedirect</servlet-name> <servlet-class>com.webtec.servlet.SSOLoginRedirect</servlet-class> </servlet> <servlet> <servlet-name>SSOLoginServle&l
15、t;/servlet-name> <servlet-class>com.webtec.servlet.SSOLoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SSOLoginServle</servlet-name> <url-pattern>/ssoLogin</url-pattern> </servlet-mapping> <servlet-mapping> <ser
16、vlet-name>SSOLoginRedirect</servlet-name> <url-pattern>/ssoLoginRedirect</url-pattern> </servlet-mapping>創(chuàng)建用于重定向到SSO驗證服務(wù)認證地址的Servlet,以下為示例代碼:public class SSOLoginRedirect extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throw
17、s ServletException, IOException / 由業(yè)務(wù)系統(tǒng)自己生成一個隨機碼String clientMark = UUID.randomUUID().toString();/ 將頁面重定向到SSO驗證服務(wù)的認證地址response.sendRedirect("http:/serverIp:port/verificationApp?appId=app1&clientMark=" + clientMark);創(chuàng)建用于接收認證返回憑證的Servlet,以下為示例代碼:public class SSOLoginServlet extends HttpS
18、ervlet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / 獲取從SSO服務(wù)端返回的憑證信息String appToken = request.getParameter("appToken");/ 對SSO服務(wù)端返回的憑證信息進行驗簽操作boolean signState = SSOClientService.verificationSign(appToken);if(signState)/ 如果驗簽無誤則對憑證信息進行解密操作,SSOBean實體為對解密后的JSON對象進行封裝而成SSOBean ssoBean = SSOClientService.deAppToken(appToken);/ 調(diào)用SS
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管線改造合同范本
- 海淀區(qū)農(nóng)村集體經(jīng)濟合同管理辦法
- 合同裁判共同規(guī)則
- 角膜炎的治療與護理
- 2024-2025學(xué)年新教材高中地理第五章自然環(huán)境的整體性與差異性單元評價含解析湘教版選擇性必修一
- 2024房產(chǎn)抵押貸款的合同協(xié)議書
- 英文調(diào)查報告(共16篇)
- 精準營銷策略15篇
- 無人機技術(shù)的應(yīng)用前景
- 2024店面租賃合同模板「標準版」
- 電大護理本科臨床實習(xí)手冊內(nèi)容(原表)
- 當代德國學(xué)校勞動教育課程構(gòu)建的經(jīng)驗與啟示共3篇
- “小金庫”治理與防范 習(xí)題及答案
- 王偉核桃經(jīng)濟價值及加工利用
- 新生兒胎糞吸入綜合征臨床路徑標準住院流程及路徑表單
- 氯化鈉特性表
- 鉆井井架起升鋼絲繩管理臺賬
- 單片機原理與應(yīng)用說課
- 船舶租賃盡職調(diào)查
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗方法
- GB/T 11270.2-2021超硬磨料制品金剛石圓鋸片第2部分:燒結(jié)鋸片
評論
0/150
提交評論