1 引言
隨著網絡技術和企業信息化的發展,企業建設了門戶平臺、企業資源管理系統、產品數據管理系統、財務管理系統、資產管理系統、人力資源管理系統等眾多的業務系統。企業用戶在門戶平臺和各業務系統間訪問,需要多次認證,用戶感知度差。目前迫切需要在企業門戶平臺和各業務系統之間進行統一身份認證,實現用戶的單點登錄。
2 單點登錄概述
2.1 單點登錄的定義
單點登錄(SSO:Single Sign On)是一種目前較流行的企業業務整合解決方案。SSO的定義是:在多個應用系統中用戶只需要登錄一次就可以訪問所有相互信任的應用系統。
企業應用集成可以在不同層面上進行:如在數據存儲層面上的“數據大集中”;在傳輸層面上的“通用數據交換平臺”;在應用層面上的“業務流程整合”;用戶界面上的“通用企業門戶”等等。事實上還有一個層面上的集成變得越來越重要,那就是“身份認證”的整合,也就是“單點登錄”。
2.2 實現機制
當用戶第一次訪問應用系統1的時候,因為還沒有登錄,會被引導到認證系統中進行登錄。根據用戶提供的登錄信息,認證系統進行身份效驗。如果通過效驗,應返回給用戶一個認證的憑據--ticket,當用戶再訪問別的應用時,就會將這個ticket帶上,作為自己認證的憑據,應用系統接受到請求之后會把ticket送到認證系統進行效驗,檢查ticket的合法性。如果通過效驗,用戶就可以在不用再次登錄的情況下訪問應用系統2和應用系統3了。
2.3 實現SSO 的前提條件
實現SSO的前提條件是:(1)所有應用系統均可信任一個身份認證系統;(2)所有應用系統能夠識別和提取ticket 信息;(3)應用系統能夠識別已經登錄過的用戶,能自動判斷當前用戶是否登錄過,從而完成單點登錄的功能。其中,統一的身份認證系統最重要,認證系統的主要功能是將用戶的登錄信息和用戶信息庫相比較,對用戶進行登錄認證;認證成功后,認證系統應該生成統一的認證標志(ticket),返還給用戶。另外,認證系統還應該對ticket 進行效驗,判斷其有效性。整個系統可以存在兩個以上的認證服務器,這些服務器甚至可以是不同的產品。認證服務器之間要通過標準的通訊協議,互相交換認證信息,就能完成更高級別的單點登錄。
3 技術實現方式
3.1 SSO 結構
單點登錄的Web 平臺,用戶只要登錄一次,就可以訪問在其權限內的所有業務系統,包括本地的Windows 應用系統和服務器端的Web 應用系統,通過訪問數據庫中的用戶SSO 表實現用戶驗證。
圖1 SSO 技術框架圖
注:SOAP--簡單目標協議;HTTP--超文本傳輸協議;LDAP--輕量級目錄訪問協議
圖2 SSO 實現方式
3.2 SSO 流程
單點登錄(SSO)的流程(如圖3 所示)如下:
圖3 SSO 流程圖
(1)用戶先與統一登錄系統進行交互,使用唯一的帳號密碼進行登錄,此時不涉及任何子系統;(2)用戶登錄成功后,統一登錄系統將信任的應用子系統列表呈現給用戶;(3)用戶根據需要,選擇子系統連接訪問子系統,用戶與子系統的交互開始;(4)由于用戶與子系統此時還沒有建立認證關系,所以子系統將用戶重定向到統一登錄系統;(5)統一登錄系統驗證用戶的登錄信息,發現用戶已經登錄,便將登錄信息插入到數據庫,再將驗證信息發給用戶,即返回一個等待頁面;(6)用戶將等待頁面中的驗證信息(自動)提交到子系統,子系統獲取認證信息;(7)子系統通過一定的辦法和等待頁面中的驗證信息進行驗證,并與用戶建立了信任關系。
流程的交互實現過程都是可控的,各個系統之間傳遞的信息內容及傳遞時間都可以限制和約定,并且能夠將每一次系統之間的交互記錄都進行登記,這才是我們需要的。至于煩碎,其實對用戶來說,增加的步驟就是出現自動提交的等待登錄頁面,如果兩個系統都能正常運行,網絡也沒有出現堵塞,用戶等待的時間將及其短暫,甚至沒能看到等待頁面,并且我們能夠對等待頁面做一定的美化,使用戶就算看到等待頁面,也不會感到厭煩。
3.3 Web SSO 功能
系統通過門戶平臺提供Web 方式的單點登陸界面,以Web 服務的方式提供用戶認證接口。
外部系統,包括門戶平臺的單點登錄系統均調用用戶認證接口實現用戶認證。將業務系統納入到我們的單點登錄平臺中,應該按照以下步驟實現:
·對所有業務系統進行分析,確定其登錄方式,使其能夠自動通過統一用戶驗證服務來驗證用戶和更改用戶密碼;
·使用Windows 集成驗證方式,從活動目錄用戶密碼表中取出當前用戶的域用戶密碼(密文),然后通過HTTP post 的方式將用戶名和加密的密碼傳遞給SharePoint Server 單點登錄服務;
·將登錄頁面嵌入SharePoint Server 2007 作為組件形式存在。
針對內部系統完成統一用戶管理的部署和活動目錄(AD:Actire Directory)用戶數據聚合,需要在AD 部署完成的前提下,形成“一處修改,全部同步”的自動管理模式。單點登錄實現后,用戶的身份信息將在Windows 活動目錄(域用戶登錄名、域用戶密碼、組織結構等)和基于SQL Server的SSO 數據庫(活動目錄對應業務系統用戶加密存儲,域用戶登錄名及其加密后的密碼)兩個地方集中存儲。
3.4 SSO 的兩種技術解決方案
對于單點登錄的難點在于,企業內部是否有一個所有系統均可信任的身份認證系統。這是所有企業都面臨的一個挑戰,目前從技術上來看,主要的解決方案有兩種:通用認證方式+憑證和通用認證方式+ 完整的認證機構(CA :Certification Authority)。
通用認證方式實際上是絕大多數的軟件廠商和應用軟件供應商都支持并具備技術可行性的認證方式,目前只有輕量級目錄訪問協議(LDAP:LightWeight DirectoryAccess Protocol)才可以視為通用,因為市場上幾乎所有成熟的服務器端軟件均可支持該協議,而針對LDAP,微軟的活動目錄無疑是最常用且應用范圍最廣的一個產品,為此對AD+憑證和CA 中心兩個解決方案進行比較。
(1)AD+憑證
-- 優勢:當我們在企業內部建立了AD,且所有企業內部PC 均加入AD 后,AD 服務器會為每個用戶管理用戶名和密碼,以及相關的所有信息。同時,在AD 服務器端,從Windows NT 時代開始,微軟就提供了憑證服務,因此,我們可以直接使用微軟提供的該憑證來進行SSO 的技術實現,而無需考慮額外的任何投入。當然,我們可以為了用戶信息的安全性增加一些措施,如將私鑰保存于一個獨立的外部設備中(如USB Key),以防止密碼泄露等安全風險的存在。這個應用方案在已實施AD 的企業內部無疑是最經濟、最快捷的一個方式,且可適用于各種架構的應用系統(B/S和C/S均可實施)。
-- 缺陷:AD+憑證的模式完全依賴于Windows服務器和桌面操作系統,即一旦有某些桌面操作系統非Windows 平臺,該部分功能就無法實現。同時,假設某一個應用系統平臺不支持https(即以安全套接層(SSL:Secure Socket Layer)方式加密傳輸的http 協議),那么其傳輸過程就會有一定的安全風險。
(2)CA 認證機構
-- 優勢:不依賴于Windows 平臺,可支持任何操作系統。傳輸過程完全使用https 協議,傳輸過程風險大大降低,如應用系統平臺不支持https,所存在的風險也僅局限于CA 服務器與應用系統軟件服務器之間的網絡傳輸,而通常我們可以認為該部分的網絡傳輸從外界條件來說已經具有足夠的安全性,因此基本可以忽略其風險。
-- 缺陷:由于CA認證機構本身的價格比較高,且該機制具有局限性,幾乎每個應用系統都需要針對CA 認證單獨訂制認證接口,因此實施CA 機構的成本比較高。
3.5 基于AD 的單點登錄
由于CA 認證機構的成本較高,因此內部實施該解決方案的企業并不普遍,而基于AD 的單點登錄技術將為企業實現統一認證機制提供廣泛的應用前景。下面我將針對該技術的實現進行論述。
首先,當一個用戶以AD 身份登錄到Windows操作系統后,操作系統會為本次登錄在AD 服務器端創建一個憑據,用于對各項內容的訪問(如Exchange 郵件服務器、Windows 共享目錄、IIS 網站等),基于.NET 和Java 兩部分的應用程序均有技術手段獲取到該信息(當然,.NET 要方便許多)。其次,假設我們使用的是桌面應用軟件,則在軟件啟動時,直接讀取該數據即可進行登錄。如果是B/S應用系統,則可以在瀏覽器中對驗證方式進行設置。該設置使瀏覽器會自動向應用服務器發送認證請求,如請求通過則登錄成功。而應用服務器端的IIS 可設置為“集成Windows 身份驗證”。設置為該項后,應用服務器即可自動識別用戶登錄Windows的AD 身份,并在服務器端建立Identity 憑據,使開發人員可以應用系統中使用該憑據。IE 配置說明如圖4 所示。
圖4 IE 配置說明
IIS 應用服務器針對AD 身份單點登錄成功后,即可在服務器端長期保留該信息,作為門戶平臺,可以以該憑據為基礎,在向其他應用系統定向時,提供該憑據或直接通知應用服務器使用Windows集成身份嚴正模式進行登錄。IIS 配置說明如圖5所示。
圖5 IIS 配置說明
最后,基于AD機制的SSO可提供以下功能:
(1)多系統單點登錄入口。可配置的多系統單點登錄入口,允許用戶自行添加或刪除入口鏈接,允許用戶在第三方系統中修改密碼后重新登錄。
圖6 示例界面1
(2)多系統單點登錄的管理。提供用戶對于每個業務系統單點登錄的獨立設置,提供管理員對每個用戶憑證的添加和刪除操作。
圖7 示例界面2
(3)單點登錄擴展及相關規范�?梢蕴峁┮话闱闆r下的單點登錄方案和規范,供今后新建立的Web 應用遵循�;贏D 域身份單點登錄的方式共分為:
-- 直接使用AD 身份登錄:應用于C/S 結構應用程序、MS 服務器端產品以及部分第三方的應用,實施后提供接口類庫,開發包和相應文檔。
-- Web SSO 登錄:用于絕大多數B/S 結構應用程序,實施后提供接口標準和相應文檔。
-- Web Services 登錄:用于松耦合的系統間的信任關系,主要針對一些非MS 技術開發的應用(如JAVA),由第三方應用提交Web Services 請求并由AD 身份驗證,通過后獲得登錄憑證。
4 技術展望
雖然基于AD的SSO 技術實現較為簡便且成本低廉,但其從本質上來說無法脫離完全依賴Windows 操作系統的現狀。因此,要真正的在企業內部實現完善的SSO 解決方案,CA 中心是更加理想且具有前瞻性的選擇。
5 結束語
實現企業信息門戶平臺中的單點登錄,解決了企業用戶需要在門戶平臺和業務系統間反復登陸和注銷的尷尬局面,從某種意義上說,整合了企業內部的信息資源,使企業管理者和普通用戶都身受其益。本文對企業信息門戶平臺中的單點登錄機制和技術實現方式進行了探討,對于企業信息門戶平臺的建設有一定的借鑒意義。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:論企業門戶平臺中的單點登錄技術
本文網址:http://www.guhuozai8.cn/html/consultation/1083935676.html