【正文】
services like . Since external applications do not take advantage of the Oracle9iAS SSO Server authentication mechanism, they must implement their own authentication modules and manage their user passwords. Because different external applications may have different web forms for entry of usernames and passwords, supporting external applications may require applicationspecific customization of the Oracle9iAS SSO Server. Users or system administrators may be required to take some specific action when installing or changing usernames and passwords, such as entering this information via a special registration page. Setting up such registration pages may require development of applicationspecific functionality within the Oracle9iAS SSO Server. Oracle SSO Server 在 Oracle 9i AS Sv2 后,還提供了一個(gè)組件模塊 Mod_osso,可以通過(guò)這個(gè)組件將 Oracle9i HTTP Server 集成 SSO Server,這樣運(yùn)行在 Oracle HTTP Server 上的各種程序都可成為伙伴應(yīng)用。原文如下: Consulting Service Consulting Service Consulting Service Service Service Mod_osso is a new feature introduced in Oracle9iASv2. It is an extension to the Oracle HTTP Server which enables the HTTP Server to be an SSO partner application. Applications running underneath the HTTP Server, such as servlets, can then obtain a user’s authenticated identity from mod_osso in the form of an Apache header. Mod_osso therefore allows applications to participate in the Oracle9iAS SSO framework without requiring that the applications embed specific partner application logic. It is the remended way for applications running on Oracle9iAS to participate in Oracle9iAS SSO. Oracle SSO Server 還可以集成其他第三方的 SSO 服務(wù)器,在目前所能找到的官方技術(shù)資料中,有 Siteminder174。在這里不做特殊論述,如果需要,請(qǐng)聯(lián)系 Oracle 公司的技術(shù)支持。下面先分別介紹這兩個(gè)組件的功能,然后按照前面講解的兩種 Oracle 整合的 We b應(yīng)用分類,分別介紹伙伴應(yīng)用以及外部應(yīng)用的 SSO 運(yùn)作過(guò)程。另外為了提供安全的訪問(wèn),Cookie 支持通過(guò) SSL 進(jìn)行傳輸,另外 cookie 有一個(gè)過(guò)期時(shí)間,并且 Cookie 也不存放到瀏覽器端的硬盤,因此關(guān)閉瀏覽器, Cookie 也就無(wú)效了。 . SSO API— 程序接口 SSO API 共分兩類,分別完成以下的功能: ? 完成 Web 應(yīng)用與 SSO Server 的通訊,關(guān)鍵就是接收 SSO Server 傳遞過(guò) Consulting Service Consulting Service Consulting Service Service Service 來(lái)的用戶身份; ? 管理員管理 Web 應(yīng)用與 SSO Server 的關(guān)聯(lián)關(guān)系; 詳細(xì)資料,請(qǐng)查閱 參考資料 1 中的第二章第 1 小節(jié),另外在 參考資料 1 中提供了 PL/SQL 以及 Java 使用 SSO API 的例程。 合法的身份,登錄服務(wù)器會(huì) 將請(qǐng)求重新重定向到用戶訪問(wèn)的伙伴程序頁(yè)面,并且通過(guò) URL 的參數(shù)將加密的用戶身份信息傳輸給伙伴程序頁(yè)面 伙伴程序解密用戶身份并且建立自己應(yīng)用程序的 Session 會(huì)話信息 2 從以上的運(yùn)作過(guò)程,我們可以知道伙伴程序需要同時(shí)滿足以下兩個(gè)的需求就可以與 SSO Server 協(xié)同工作: ? 實(shí)現(xiàn)身份的驗(yàn)證 ? 需要身份驗(yàn)證的頁(yè)面,都需要加上身份驗(yàn)證的判斷邏輯檢查是否存在驗(yàn)證過(guò)的會(huì)話信息 ? 如果還未驗(yàn)證過(guò),則將頁(yè)面的請(qǐng)求重定向到登錄服務(wù)器的登錄頁(yè)面 ? 如果頁(yè)面是無(wú)需身份驗(yàn)證就可以使用,則無(wú)須進(jìn)行修改 ? 實(shí)現(xiàn)一個(gè)登錄處理的頁(yè)面 ? 這個(gè)頁(yè)面 根據(jù)登錄服務(wù)器傳輸回來(lái)的加密用戶信息,解密并且建立用戶的已驗(yàn)證過(guò)的會(huì)話信息。如果用戶沒(méi)有將賬號(hào) /密碼記住在 SSO Server,用戶還需要再執(zhí)行以上的登錄過(guò)程。 Oracle SSO Server 是一種基于 Token 3和 Agent 4的 SSO 解決方案。 從系統(tǒng)整體的 SSO 方案上看, Oracle SSO Server 存在以下的缺點(diǎn): ? 目前的 Oracle 9i AS SSO Server 解決方案,只能解決 Web Application 的 3 傳遞的 Token 就是登錄服務(wù)器的 Cookie 4 在 對(duì)外部應(yīng)用程序的 SSO 方面, SSO Server 記錄用戶在外部應(yīng)用程序的賬號(hào)以及密碼,模擬用戶的手工登錄 Consulting Service Consulting Service Consulting Service Service Service 整合問(wèn)題,無(wú)法解決企業(yè)內(nèi)部的其他 C/S 應(yīng)用的 SSO; ? Oracle 9i AS SSO Server 是基于應(yīng)用級(jí)的 SSO 解決方案,不是采用驗(yàn)證協(xié)議來(lái)整合應(yīng)用,而是通過(guò)應(yīng)用級(jí)的程序框架來(lái)實(shí)現(xiàn) SSO; ? Oracle 9i AS SSO Server 對(duì)外部應(yīng)用的整合能力是和 Oracle 9i AS Portal緊密集成的,只有通過(guò) Portal 的 Application 超連接進(jìn)行 SSO 整合; ? 從其外部應(yīng)用 SSO 的運(yùn)作機(jī)理來(lái)看,用戶如果在瀏覽器本身的地址欄輸入外部應(yīng)用的網(wǎng)址是無(wú)法進(jìn)行 SSO 整合的,另外如果用戶不將外部應(yīng)用的賬號(hào)密碼存儲(chǔ)的 SSO Server 的 Database,即使在 Portal 里面再一次點(diǎn)擊外部應(yīng)用程序,也需要用戶 重新輸入一次賬號(hào) /密碼; ? 從其對(duì)于外部應(yīng)用 SSO 運(yùn)作機(jī)理上看,只能進(jìn)行 FormBase 的外部應(yīng)用整合(模擬用戶在外部應(yīng)用的登錄 Form 填寫賬號(hào) /密碼); Oracle SSO Server 是無(wú)法支持基于瀏覽器系統(tǒng)集成驗(yàn)證方式 5( HTTPAuthorization)的外部應(yīng)用,比如 Exchange、 Domino 等郵件系統(tǒng)的 Web 客戶端; ? 從其整合伙伴應(yīng)用的運(yùn)作機(jī)理來(lái)看,對(duì)于整合一些較為簡(jiǎn)單的伙伴應(yīng)用來(lái)講是沒(méi)有問(wèn)題的;但是如果復(fù)雜一點(diǎn)的伙伴應(yīng)用,比如財(cái)務(wù)系統(tǒng),即使經(jīng)過(guò)了中心登錄服務(wù)器 Login Server 的身份驗(yàn)證,系統(tǒng)可以認(rèn)為你是個(gè)合法的用戶,但是這個(gè)合法用戶卻是不一定能夠訪問(wèn)這個(gè)財(cái)務(wù)系統(tǒng)的,因此在這種體系下,財(cái)務(wù)系統(tǒng)本身還是需要有訪問(wèn)財(cái)務(wù)系統(tǒng)的賬號(hào)子集列表,不能只依賴 SSO Server 的身份驗(yàn)證,并且還必須有子系統(tǒng)的身份驗(yàn)證以及子系統(tǒng)的賬號(hào) /角色 /授權(quán)管理的子系統(tǒng)支撐,然后通過(guò)特定的代碼來(lái)實(shí)現(xiàn)子系統(tǒng)的賬號(hào)和 Login Server 賬號(hào) /授權(quán)信息的同步,這類的系統(tǒng)要求應(yīng)該講在企業(yè)內(nèi)部來(lái)講應(yīng)該是非常多的; ? 對(duì)于一些是采用 cgi 方式的外部應(yīng)用,或者是已經(jīng)編譯成 servlet 的外部應(yīng)用,這些應(yīng)用如果沒(méi)有源代碼 ,是沒(méi)有辦法通過(guò)修改程序的方式來(lái)達(dá)到整合成伙伴應(yīng)用的模式,而只能使用整合成外部應(yīng)用的方式,而 Oracle SSO Server 對(duì)于整合外部應(yīng)用的模式是有較多的限制的。在我們此次技術(shù)交流中,著重討論的 SSO 解決方案有 : Websphere Portal SSO解決方案以及 IBM Tivoli Access Manager SSO解決方案。 根據(jù) IBM Tivoli Access Manager 的 官方網(wǎng)站 以及 IBM Tivoli Access Manager產(chǎn)品幻燈片 介紹, Access Manager 的設(shè)計(jì)目標(biāo)主要完成以下兩大功能: ? 整合 Web 應(yīng)用構(gòu)造一個(gè)安全企業(yè)安全 門戶 ? 實(shí)現(xiàn) Web 應(yīng)用的單點(diǎn)登錄 原文的信息如下: What is IBM Tivoli Access Manager for Ebusiness ( Policy Director ) ? ? A Secure Applications Portal for the Web – Let The Right People In, To Access The Right Applications and Data – Cost Effectively Manage Security Policy Definition and Enforcement ( Web, Java) ? Single Signon to Web based applications 從原文信息中看到的 Portal 功能,但從 IBM 網(wǎng)站介紹方面可以知道,本身Tivoli 是不提供的,是通過(guò) IBM WebSphere Portal 來(lái)實(shí)現(xiàn)。 Consulting Service Consulting Service Consulting Service Service Service 在 參考資料 3 一文的 章節(jié)中, IBM 重點(diǎn)探討了 Tivoli Access Manager 和Websphere Portal 的集成對(duì) WebSphere 的增值, WebSphere 允許和 Tivoli Access Manager 等身份認(rèn)證服務(wù)器整合, IBM 認(rèn)為,使用兩者結(jié)合的解決方案對(duì)用戶是有價(jià)值的: ? Tivoli Access Manager 的安全管理模式比 WebSphere 內(nèi)置的安全模式更加有價(jià)值; ? 在大量的情況下, Tivoli Access Manager 除了可以保證 WebSphere Portal應(yīng)用的安全外,還可以保護(hù)其他 Web 應(yīng)用資源的安全 原文如下 : Intuitively, it makes sense to implement WebSphere Portal with Tivoli Access Manager for ebusiness. WebSphere Portal consolidates and enhances a user39。s security model as pared to the native WebSphere Portal security. ? We look at the wider and quite prevalent situation where Tivoli Access Manager is securing WebSphere Portal resources as well as other Web resources. 在 參考資料 3 一文的 章節(jié)中, IBM 重點(diǎn)講述了 Tivoli Access Manager 對(duì) Consulting Service Consulting Service Consulting Service Service Service WebSphere Portal 的增值: ? 提高了可管理和審計(jì)的功能 通過(guò)了 Tivoli Access Manager,管理人員無(wú)須分別通過(guò) WebSph e Application Server、 WebSphere Portal 以及 各種 LDAP 管理工具來(lái)管理用戶、組別以及權(quán)限信息, Tivoli Access Manager 簡(jiǎn)化了管理的復(fù)雜度。 使用 Tivoli Access Manager 提供用戶各種 Web 應(yīng)用程序的單點(diǎn)登錄,而WebSphere Portal 只能類似 Oracle SSO Server 在 Portal 內(nèi)部提供應(yīng)用程序連接的方式進(jìn)行單點(diǎn)登錄 6