




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、用戶身份統(tǒng)一認(rèn)證系統(tǒng)技術(shù)實(shí)現(xiàn)方案用戶身份統(tǒng)一認(rèn)證系統(tǒng) 西安維信軟件有限公司2014年4月22日目 錄一、認(rèn)證中心的主要功能:3二、認(rèn)證中心的設(shè)計(jì)要求:3三、對(duì)業(yè)務(wù)系統(tǒng)的要求:4四、認(rèn)證中心的登錄4五、SSO驗(yàn)證實(shí)現(xiàn)過(guò)程5六、接口設(shè)計(jì)7七、業(yè)務(wù)系統(tǒng)的集成工作10一、 認(rèn)證中心的主要功能:1) 用戶登錄認(rèn)證(平臺(tái)機(jī)構(gòu)、用戶名和密碼的校驗(yàn)、數(shù)字證書(shū)簽名校驗(yàn)、實(shí)時(shí)短信校驗(yàn))2) 憑證生成和傳遞3) 憑證有效性檢查4) 記錄日志、提供審計(jì)5) 關(guān)聯(lián)系統(tǒng)信息的維護(hù)6) 證書(shū)的管理和公共服務(wù)二、 認(rèn)證中心的設(shè)計(jì)要求:1) 考慮到憑證的安全性,引入了加密和數(shù)字簽名技術(shù);2) 不提供注冊(cè)功能,而是分別在各自應(yīng)用
2、進(jìn)行注冊(cè),但提供到各個(gè)系統(tǒng)的注冊(cè)鏈接;3) 注銷系統(tǒng)時(shí),只需清除認(rèn)證中心的Session信息即可,其它已經(jīng)通過(guò)認(rèn)證登錄過(guò)的業(yè)務(wù)系統(tǒng)不受影響;4) 各應(yīng)用系統(tǒng)的用戶信息分別各自管理,綜合接入平臺(tái)提供平臺(tái)統(tǒng)一機(jī)構(gòu)和統(tǒng)一用戶信息的生成和維護(hù)功能,并提供平臺(tái)統(tǒng)一用戶和應(yīng)用系統(tǒng)用戶的綁定功能;5) 認(rèn)證中心專有憑證模塊負(fù)責(zé)憑證的創(chuàng)建,解析及驗(yàn)證,并對(duì)外提供服務(wù)接口;6) 業(yè)務(wù)系統(tǒng)可根據(jù)憑證得到用戶的相關(guān)信息,比如業(yè)務(wù)系統(tǒng)用戶機(jī)構(gòu)、用戶名等信息,認(rèn)證中心對(duì)外提供用戶信息獲取服務(wù);7) 提供應(yīng)用系統(tǒng)管理功能,方便統(tǒng)計(jì)登錄行為,提供審計(jì)和日志功能,方便將其他應(yīng)用系統(tǒng)經(jīng)過(guò)簡(jiǎn)單配置,就可加入認(rèn)證整合系統(tǒng)中,方便證
3、書(shū)的注冊(cè)、注銷、查詢等;8) 為了確保認(rèn)證中心的健壯,系統(tǒng)支持熱備份等功能。三、 對(duì)業(yè)務(wù)系統(tǒng)的要求:1) 憑證信息的相互傳送都是已加密的方式進(jìn)行傳送,即使憑證信息被截取到,也無(wú)法解析到憑證信息中的內(nèi)容,各業(yè)務(wù)系統(tǒng)只可使用自己的私鑰才可以解密憑證信息;2) 業(yè)務(wù)系統(tǒng)不可以每次都去認(rèn)證中心驗(yàn)證,所以可將憑證保存在會(huì)話中,即Session的方式;3) 業(yè)務(wù)系統(tǒng)不要過(guò)于復(fù)雜,以方便和現(xiàn)有系統(tǒng)的整合,建議采用過(guò)濾器或Servlet方式;4) 由于業(yè)務(wù)系統(tǒng)的權(quán)限管理機(jī)制可能不同,故認(rèn)證中心不做權(quán)限管理,由業(yè)務(wù)系統(tǒng)自己負(fù)責(zé);5) 業(yè)務(wù)系統(tǒng)和認(rèn)證中心的通信采用Web Services 接口服務(wù)。四、 認(rèn)證中心
4、的登錄業(yè)務(wù)系統(tǒng)要使用認(rèn)證中心進(jìn)行驗(yàn)證操作,第一次需要登錄一次認(rèn)證中心,之后的認(rèn)證的操作則不需要再次登錄認(rèn)證中心。當(dāng)認(rèn)證中心登錄成功之后,用戶便可在認(rèn)證中心的“業(yè)務(wù)應(yīng)用列表”當(dāng)中選擇相應(yīng)的業(yè)務(wù)系統(tǒng),進(jìn)行業(yè)務(wù)系統(tǒng)的用戶登錄驗(yàn)證操作。五、 SSO驗(yàn)證實(shí)現(xiàn)過(guò)程1、 當(dāng)用戶要使用認(rèn)證中心進(jìn)行業(yè)務(wù)系統(tǒng)的統(tǒng)一認(rèn)證時(shí)候,分為兩種情況:a) 用戶未登錄過(guò)統(tǒng)一認(rèn)證系統(tǒng)此時(shí)用戶的瀏覽器界面首先會(huì)跳轉(zhuǎn)到認(rèn)證中心的登錄地址,用戶輸入相關(guān)的登錄信息(機(jī)構(gòu)號(hào)、柜員號(hào)、密碼、短信效驗(yàn)碼等),待驗(yàn)證通過(guò)后,則會(huì)跳轉(zhuǎn)到認(rèn)證中心的“業(yè)務(wù)系統(tǒng)列表”頁(yè)面;b) 用戶已登錄過(guò)統(tǒng)一認(rèn)證系統(tǒng)如果用戶之前已經(jīng)登錄過(guò)認(rèn)證中心,則當(dāng)前用戶的瀏覽器
5、頁(yè)面會(huì)直接跳轉(zhuǎn)到“業(yè)務(wù)系統(tǒng)列表”。2、 當(dāng)進(jìn)入到“業(yè)務(wù)系統(tǒng)列表”之后,用戶通過(guò)選擇相應(yīng)的業(yè)務(wù)系統(tǒng),然后頁(yè)面會(huì)跳轉(zhuǎn)到業(yè)務(wù)系統(tǒng)中“用于重定向到SSO驗(yàn)證服務(wù)認(rèn)證地址的轉(zhuǎn)發(fā)地址”,跳轉(zhuǎn)完成后,業(yè)務(wù)系統(tǒng)自身會(huì)生成一個(gè)用于驗(yàn)證本次認(rèn)證請(qǐng)求的隨機(jī)碼,并攜帶認(rèn)證中心所提供的應(yīng)用編號(hào),向認(rèn)證中心發(fā)起一次用戶驗(yàn)證請(qǐng)求(即將頁(yè)面重定向到認(rèn)證中心所提供的“用于業(yè)務(wù)系統(tǒng)請(qǐng)求SSO驗(yàn)證服務(wù)的認(rèn)證地址”)。3、 當(dāng)認(rèn)證中心接收到業(yè)務(wù)系統(tǒng)發(fā)起的用戶驗(yàn)證請(qǐng)求后,首先認(rèn)證中心會(huì)從SSO服務(wù)端的Session中獲取到當(dāng)前所登錄用戶的用戶信息,然后再?gòu)臉I(yè)務(wù)系統(tǒng)的請(qǐng)求當(dāng)中接收到由業(yè)務(wù)系統(tǒng)所發(fā)送的隨機(jī)碼和應(yīng)用編號(hào),根據(jù)認(rèn)證中心登陸的用
6、戶編號(hào),業(yè)務(wù)系統(tǒng)的應(yīng)用編號(hào),從數(shù)據(jù)庫(kù)查詢到業(yè)務(wù)系統(tǒng)所需要的映射用戶信息。然后再將業(yè)務(wù)系統(tǒng)所發(fā)送的隨機(jī)碼等信息通過(guò)相關(guān)加密方式生成一個(gè)用于本次業(yè)務(wù)系統(tǒng)登錄認(rèn)證的憑證信息,返還給業(yè)務(wù)系統(tǒng)。4、 業(yè)務(wù)系統(tǒng)通過(guò)回調(diào)地址接收到認(rèn)證中心所返回的憑證信息,然后對(duì)其的可用性進(jìn)行檢測(cè)(驗(yàn)簽、隨機(jī)碼比對(duì)、憑證可用性效驗(yàn)等)。如果當(dāng)前憑證信息正確無(wú)誤且可用,則對(duì)其進(jìn)行解密。隨后業(yè)務(wù)系統(tǒng)根據(jù)自己的需求,從憑證信息中獲取到相應(yīng)的用戶信息,加載自己系統(tǒng)的用戶權(quán)限、菜單等信息,跳轉(zhuǎn)到業(yè)務(wù)系統(tǒng)自身的系統(tǒng)界面,即完成了一次SSO登錄驗(yàn)證過(guò)程。六、 接口設(shè)計(jì)1) 憑證的設(shè)計(jì)(算法、結(jié)構(gòu))a) 憑證采用RAS非對(duì)稱密碼算法,服務(wù)端
7、采用電子信封和數(shù)字簽名生成一個(gè)用于業(yè)務(wù)系統(tǒng)登錄驗(yàn)證的憑證信息;b) 憑證的數(shù)據(jù)采用JSON格式存儲(chǔ),結(jié)構(gòu)包括:i. 當(dāng)驗(yàn)證成功后,返回響應(yīng)碼(00)和驗(yàn)證通過(guò)的用戶信息憑證,如:響應(yīng)碼"user":"brhId":"用戶機(jī)構(gòu)編號(hào)","userId":"用戶編號(hào)","caSerialId":"CA證書(shū)序列號(hào)",ssoUseId:”SSO用戶編號(hào)”,"tokenMark":"憑證唯一標(biāo)識(shí)","clientMar
8、k":"業(yè)務(wù)系統(tǒng)所生成的隨機(jī)碼","signData":"簽名值";ii. 當(dāng)驗(yàn)證失敗后,則返回響應(yīng)碼和未通過(guò)驗(yàn)證的異常信息憑證;響應(yīng)碼"errInfo":"詳細(xì)的異常信息說(shuō)明"。響應(yīng)碼說(shuō)明:響應(yīng)碼響應(yīng)碼詳細(xì)說(shuō)明00驗(yàn)證通過(guò)01代表當(dāng)前所請(qǐng)求的應(yīng)用信息不存在;02代碼當(dāng)前所請(qǐng)求的應(yīng)用暫時(shí)不可用;03代表當(dāng)前所請(qǐng)求的應(yīng)用在SSO服務(wù)端暫為添加映射用戶信息;04代表當(dāng)前所請(qǐng)求的應(yīng)用在SSO服務(wù)端中的映射用戶信息不可用;09其他異常信息;2) 認(rèn)證中心提供用于業(yè)務(wù)系統(tǒng)請(qǐng)求SSO驗(yàn)證服務(wù)的認(rèn)證
9、地址業(yè)務(wù)系統(tǒng)每次使用SSO驗(yàn)證服務(wù),需請(qǐng)求以下鏈接:http:/serverIp:port/verificationApp?appId=應(yīng)用編號(hào)&clientMark=業(yè)務(wù)系統(tǒng)隨機(jī)碼 應(yīng)用編號(hào)將會(huì)由SSO服務(wù)提供,業(yè)務(wù)系統(tǒng)隨機(jī)碼由業(yè)務(wù)系統(tǒng)自身生成。3) 業(yè)務(wù)系統(tǒng)提供用于重定向到SSO驗(yàn)證服務(wù)認(rèn)證地址的轉(zhuǎn)發(fā)地址當(dāng)需要進(jìn)行登錄驗(yàn)證時(shí),SSO系統(tǒng)首先跳轉(zhuǎn)到此地址,然后由業(yè)務(wù)系統(tǒng)自身生成一個(gè)隨機(jī)碼,并攜帶認(rèn)證系統(tǒng)所分配給自己的應(yīng)用編號(hào),重定向到認(rèn)證中心所提供的用于業(yè)務(wù)系統(tǒng)請(qǐng)求SSO驗(yàn)證服務(wù)的認(rèn)證地址: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)碼判斷憑證是否正確返回,解密憑證讀取隨機(jī)碼(clientMark),驗(yàn)證隨機(jī)碼是否是業(yè)務(wù)系統(tǒng)生成。5) 認(rèn)證中心提供業(yè)務(wù)系統(tǒng)用于驗(yàn)證本次憑證相關(guān)信息的WebService接口地址當(dāng)業(yè)務(wù)通過(guò)回調(diào)地址接收到SSO服務(wù)端的憑證信息后,需要對(duì)憑證信息進(jìn)行相關(guān)的驗(yàn)證操作,此時(shí)就需要調(diào)用SSO服務(wù)端的WebService接口進(jìn)行驗(yàn)證,此接口地址為:http:/serverIp:port/service/SSOService?wsdl調(diào)用方法
11、及說(shuō)明:方法名稱方法說(shuō)明方法參數(shù)返回結(jié)果verificationToken用于驗(yàn)證憑證信息是否可用String,憑證唯一標(biāo)識(shí)(唯一標(biāo)識(shí)為憑證信息中的tokenMark值)Boolean,憑證是否可用6) 認(rèn)證中心提供業(yè)務(wù)系統(tǒng)用于本地驗(yàn)簽,解密數(shù)據(jù)相關(guān)方法相關(guān)的方法都位于sso_client.jar文件當(dāng)中。方法名稱方法說(shuō)明方法參數(shù)返回結(jié)果verificationSign用于驗(yàn)證憑證信息是否由SSO服務(wù)端所發(fā)送String,SSO服務(wù)端返回的憑證信息Boolean,驗(yàn)簽結(jié)果deAppToken用于解密服務(wù)端所返回的憑證信息中的數(shù)據(jù)String,SSO服務(wù)端返回的憑證信息String,解密后的憑證
12、信息7) 認(rèn)證中心提供業(yè)務(wù)系統(tǒng)用于調(diào)用SSO驗(yàn)證服務(wù)所需的配置文件業(yè)務(wù)系統(tǒng)調(diào)用SSO驗(yàn)證服務(wù)所有所需的相關(guān)配置參數(shù)均存放于ssoCperties文件當(dāng)中,文件當(dāng)中主要包含以下幾條屬性信息:serviceUrl:業(yè)務(wù)系統(tǒng)用于調(diào)用SSO驗(yàn)資服務(wù)的遠(yuǎn)程WebService地址;privateKey:業(yè)務(wù)系統(tǒng)用于驗(yàn)簽,解密服務(wù)端返回憑證信息的私鑰信息。七、 業(yè)務(wù)系統(tǒng)的集成工作業(yè)務(wù)系統(tǒng)如要整合SSO用戶驗(yàn)證系統(tǒng),需要按以下步驟對(duì)現(xiàn)有業(yè)務(wù)系統(tǒng)進(jìn)行改造,為了各業(yè)務(wù)系統(tǒng)更方便的整合SSO用戶驗(yàn)證服務(wù),以下步驟中會(huì)出現(xiàn)部分代碼示例,其中的代碼可能對(duì)部分業(yè)務(wù)系統(tǒng)并不適用,各業(yè)務(wù)系統(tǒng)也可以更具具體
13、情況更改其中的代碼。1、 將相關(guān)的JAR包、配置文件添加到項(xiàng)目當(dāng)中:Ø sso_client.jar(該JAR包用于調(diào)用遠(yuǎn)程SSO服務(wù)端相關(guān)驗(yàn)證接口);Ø WebService相關(guān)JAR包,由于SSO服務(wù)端的WebService服務(wù)采用Xfire方式,所以業(yè)務(wù)系統(tǒng)需要自行添加X(jué)fire的相關(guān)JAR包文件;Ø 將ssoCperties文件拷貝到業(yè)務(wù)系統(tǒng)的src目錄下,并根據(jù)情況修改其中的參數(shù)。2、 集成判斷用戶在線狀態(tài)功能: 可以通過(guò)Filter等技術(shù)方式,判斷業(yè)務(wù)系統(tǒng)的用戶是否已登錄。如果未登錄,調(diào)轉(zhuǎn)到SSO的認(rèn)證地址http:/serverIp
14、:port/verificationApp?appId=應(yīng)用編號(hào)。3、 集成憑證接收、處理、頁(yè)面重定向功能:在業(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驗(yàn)證服務(wù)認(rèn)證地址的Servlet,以下為示例代碼:public class SSOLoginRedirect extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throw
17、s ServletException, IOException / 由業(yè)務(wù)系統(tǒng)自己生成一個(gè)隨機(jī)碼String clientMark = UUID.randomUUID().toString();/ 將頁(yè)面重定向到SSO驗(yàn)證服務(wù)的認(rèn)證地址response.sendRedirect("http:/serverIp:port/verificationApp?appId=app1&clientMark=" + clientMark);創(chuàng)建用于接收認(rèn)證返回憑證的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");/ 對(duì)SSO服務(wù)端返回的憑證信息進(jìn)行驗(yàn)簽操作boolean signState = SSOClientService.verificationSign(appToken);if(signState)/ 如果驗(yàn)簽無(wú)誤則對(duì)憑證信息進(jìn)行解密操作,SSOBean實(shí)體為對(duì)解密后的JSON對(duì)象進(jìn)行封裝而成SSOBean ssoBean = SSOClientService.deAppToken(appToken);/ 調(diào)用SS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45200-2025飼料中新甲基橙皮苷二氫查耳酮的測(cè)定高效液相色譜法
- 鐵路鋼板樁施工方案
- 掛籃0 專項(xiàng)施工方案
- 穿孔鋁板龍骨施工方案
- 公路擋土墻施工方案
- 二零二五年度醫(yī)院醫(yī)護(hù)人員正式勞動(dòng)合同范本發(fā)布
- 2025年度航空航天技術(shù)合作意向協(xié)議合同
- 二零二五年度農(nóng)村宅基地使用權(quán)轉(zhuǎn)讓與農(nóng)村集體產(chǎn)權(quán)制度改革合同
- 2025年度洗衣店門店經(jīng)營(yíng)權(quán)轉(zhuǎn)讓協(xié)議
- 2025年洗車機(jī)租賃與新能源汽車充電設(shè)施配套服務(wù)合同
- 產(chǎn)品研發(fā)指導(dǎo)專家聘用協(xié)議書(shū)
- 【正版授權(quán)】 IEC 60268-5:2003/AMD1:2007 EN-FR Amendment 1 - Sound system equipment - Part 5: Loudspeakers
- 廣東省廣州市2023-2024學(xué)年一年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 2024年晉中職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整參考答案
- DL-T5493-2014電力工程基樁檢測(cè)技術(shù)規(guī)程
- 中西醫(yī)結(jié)合思路與方法學(xué)課件
- 二年級(jí)數(shù)學(xué)下冊(cè)混合運(yùn)算計(jì)算100題(含詳細(xì)答案)
- 小學(xué)體育小課題研究
- 新能源汽車故障診斷與排除實(shí)訓(xùn)工單
- 民族文化傳承與創(chuàng)新魯班工坊揚(yáng)州三把刀建設(shè)方案
- 14J936《變形縫建筑構(gòu)造》
評(píng)論
0/150
提交評(píng)論