0、引言
隨著企業(yè)信息化建設的逐步深入,信息系統(tǒng)已逐步滲透企業(yè)生產(chǎn)經(jīng)營管理的各個領域,包括:ERP、MES、電子商務平臺、DSS、OA、電子郵件等等 但由于系統(tǒng)建設的不同步及期初缺乏前瞻性和總體規(guī)劃,這些系統(tǒng)經(jīng)常擁有各自獨立的用戶管理體系和認證方法。這就可能出現(xiàn)同一個用戶在不同系統(tǒng)中使用不同的賬號和密碼,需要記憶眾多的賬號和密碼已成為用戶沉重的負擔。此外,由于各系統(tǒng)中用戶信息的格式、命名與存儲方式多種多樣,系統(tǒng)管理員對用戶信息進行同步維護時也將增加額外的工作量。因此,眾多企業(yè)已著手研究建立企業(yè)專門的單點登錄系統(tǒng)。對企業(yè)單點登錄的實現(xiàn)方案已有眾多研究和討論,本文以云銅集團基于企業(yè)門戶的單點登錄解決方案為實例,探討企業(yè)面對復雜異構應用環(huán)境下如何以最小代價柔性地實現(xiàn)各新老系統(tǒng)的單點登錄。
1、單點登錄概述
1.1 單點登錄定義
單點登錄(SSO:Single Sign On)是一種目前較流行的企業(yè)業(yè)務整合解決方案。單點登錄是指訪問同一服務器不同應用中的受保護資源的同一用戶,只需要登錄一次,即通過一個應用中的安全驗證后,再訪問其他應用中的受保護資源時,不再需要重新登錄驗證。
1.2 單點登錄技術的國內(nèi)外動態(tài)
目前,單點登錄技術在國內(nèi)的應用還不是非常普及,但隨著企業(yè)門戶應用的逐漸普及,越來越多的企業(yè)已開始重視單點登錄技術的實現(xiàn)。在國外,單點登錄的技術發(fā)展非常的迅速。從技術的實現(xiàn)上,單點登錄的實現(xiàn)技術主要有:Cookie、Broker-based、Agent-based、Token-based、Gateway-based等。
1.3 單點登錄技術比較
2、基于企業(yè)門戶的云銅集團單點登錄方案的設計
2.1 云銅集團異構應用環(huán)境介紹
云銅集團經(jīng)過多年的信息化建設已建成了涵蓋冶金行業(yè)五級系統(tǒng)架構的各種應用系統(tǒng),且涉及多種技術平臺,包括:SAP平臺的ERP系統(tǒng)2套,基于domino平臺的分布式OA系統(tǒng)、郵件系統(tǒng)、短信系統(tǒng)、經(jīng)營決策管理系統(tǒng),基于Dotnet平臺的MES系統(tǒng)、生產(chǎn)管理系統(tǒng)、投資管理系統(tǒng)、礦產(chǎn)資源管理系統(tǒng)、HSE管理系統(tǒng)和協(xié)同應用系統(tǒng),騰訊的RTX企業(yè)內(nèi)部通訊系統(tǒng)等等,其中有老系統(tǒng)、新建系統(tǒng),有B/S結構、C/S結構,部署在不同子域、不同服務器上。針對云銅集團復雜的異構應用環(huán)境,采用傳統(tǒng)的單點登錄技術已經(jīng)很難滿足云銅集團的單點登錄需求。
2.2 云銅集團單點登錄方案
云銅集團單點登錄方案主要由統(tǒng)一用戶管理、認證管理和基于Sharepoint企業(yè)門戶的單點登錄三個部分組成。
2.2.1 統(tǒng)一用戶管理
統(tǒng)一用戶管理的目標是要建立一個囊括云銅集團所有IT應用系統(tǒng)的基礎用戶管理平臺,做到一套用戶以及密碼覆蓋所有系統(tǒng),在此基礎之上通過組合認證實現(xiàn)各系統(tǒng)的單點登陸。云銅集團統(tǒng)一用戶管理涉及到SAP HR系統(tǒng)、企業(yè)門戶的用戶信息公共數(shù)據(jù)庫、WebAD認證巾心(基于微軟AD開發(fā)的web界面管理平臺)、ADSync(Domino平臺自帶的用戶目錄系統(tǒng))。整個用戶數(shù)據(jù)管理如圖1所示:
圖1 統(tǒng)一用戶管理的數(shù)據(jù)同步
(1)統(tǒng)一用戶管理的數(shù)據(jù)源來自于SAP HR模塊,HR模塊中的員工數(shù)據(jù)通過SSIS(Microsoft SQL Server Integration Services)將數(shù)據(jù)同步到企業(yè)門戶公共數(shù)據(jù)庫,供認證中心使用。
(2)認證中心(web AD)進行具體的用戶管理,注冊用戶時選取員工信息,并將用戶信息通過AD LDAP服務寫入AD。
(3)認證中心(web AD)通過web service方式提供對外接口,將用戶數(shù)據(jù)分發(fā)到新老系統(tǒng)中。
(4)對新老系統(tǒng)進行用戶數(shù)據(jù)分發(fā)的方式分為兩大類:原有domino系統(tǒng)通過一個ADSync分發(fā):非domino系統(tǒng)直接通過認證中心(web AD)提供的web Service服務分發(fā)。
2.2.2 認證管理
云銅集團單點登錄涉及sharepoint門戶登錄認證、ASP.NET系統(tǒng)認證(包含生產(chǎn)管理系統(tǒng)、投資管理系統(tǒng)、礦產(chǎn)資源管理系統(tǒng)、HSE管理系統(tǒng)和協(xié)同應用系統(tǒng))、Domino系統(tǒng)認證(包含分布式OA系統(tǒng)、郵件系統(tǒng)、短信系統(tǒng)、經(jīng)營決策管理系統(tǒng))、SAP系統(tǒng)認證(兩套ERP系統(tǒng))、RTX認證等5 大類系統(tǒng)認證。
(1)sharepoint門戶登錄認證:采用Broker based模式的典型應用Kerberos認證機制。
(2)ASP.NET系統(tǒng)認證:采用cookie模式的AD認證。
(3)Domino系統(tǒng)認證:采用Token-based模式的LTPA Token認證。
(4)SAP系統(tǒng)認證:采用用戶映射的方式進行認證。
(5)RTX認證:采用web serviees方式進行認證。
2.2.3 單點集成
在統(tǒng)一用戶管理和明確各種類型系統(tǒng)的認證方式后,企業(yè)門戶作為各應用系統(tǒng)的統(tǒng)一集中入口,用戶在企業(yè)門戶上輸入用戶名和密碼后,個人門戶通過調(diào)用web AD的訪問控制列表把當前用戶能訪問的系統(tǒng)羅列在個人門戶常用系統(tǒng)中,采用上述認證方式,用戶無需再輸入用戶名和密碼就可以訪問相關應用系統(tǒng)了。
3、云銅集團單點登錄技術的具體實現(xiàn)
由于云銅集團涉及單點登錄的各系統(tǒng)都統(tǒng)一在同樣的一級域名yncic.com之下,因此可以概括來說,各系統(tǒng)的單點登錄都是采用共享cookie信息的方式實現(xiàn)的。即通過各系統(tǒng)的統(tǒng)一入口(門戶系統(tǒng))登錄后。生成各關聯(lián)單點系統(tǒng)的驗證信息存儲于cookie中,各系統(tǒng)讀取Cookie信息實現(xiàn)單點登錄。
3.1 實現(xiàn)與Domino系統(tǒng)單點登錄
與Domino系統(tǒng)的單點登錄采用Lightweight Third-Party Authentication (LTPA)的方式(LTPA是IBM Websphere和Domino產(chǎn)品中使用單點登錄技術)。當服務器配置好LTPA認證方式,用戶通過瀏覽器成功登錄后,服務器會自動發(fā)送一個session cookie給瀏覽器,此cookie中包含一個LTPA Token,獲得cookie后登錄Domino系統(tǒng),Domino系統(tǒng)通過分析該cookie判斷當前用戶是否驗證通過。這個cookie由以下部分組成:LTPA token版本(4字節(jié))、創(chuàng)建時間(8字節(jié))、過期時間(8字節(jié))、用戶名(可變長度)、Domino LTPA密鑰(20字節(jié)),其中LTPA密鑰采用SHA加密存儲在cookie中。
以下是Domino系統(tǒng)獲取LTPA token信息的核心代碼:
3.2 實現(xiàn)與ASP.NET系統(tǒng)單點登錄
由于云銅集團涉及單點登錄的ASP.NET系統(tǒng)使用相同的主域名,所以采用Form身份驗證方式,共用一個Cookie來實現(xiàn)單點登錄。
具體實現(xiàn)過程如下:
(1)選用Forms驗證
(2)修改各單點系統(tǒng)Web.config文件,加入共用的machineKey節(jié)點和值。
(3)登陸時寫入cookie值
以下是生成ASP.NET系統(tǒng)共享Cookie票據(jù)信息的核心代碼:
3.3 實現(xiàn)與SAP系統(tǒng)單點登錄
與SAP系統(tǒng)實現(xiàn)單點登錄主要是通過在SSO WEB服務器頁面嵌入ActiveX控件,由AetiveX控件從Sharepoint的SSO服務端獲取用戶映射表中SAP的用戶名和密碼,然后啟動客戶端控件,向客戶端控件傳遞登錄信息,實現(xiàn)自動登錄。
3.4 實現(xiàn)與RTX系統(tǒng)單點登錄
與RTX系統(tǒng)實現(xiàn)單點登錄主要是通過調(diào)用RTX Server SDK獲取Session Key接口獲取該用戶的Session Key,同時調(diào)用客戶端Session Key登錄的腳本登錄RTX。
4、小結
面對多種異構應用并存的現(xiàn)狀,云銅集團有針對性地將多種單點登錄技術組合應用,有效地解決了基于企業(yè)門戶的單點登錄問題。為其它企業(yè)如何解決復雜異構應用環(huán)境下的單點登錄提供了可借鑒的經(jīng)驗,具有很好的推廣應用價值。
轉載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標題:ERP/MES/OA復雜異構應用環(huán)境下的單點登錄設計與實現(xiàn)
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1082009659.html