中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較-創(chuàng)新互聯(lián)

1.1    單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn) 比較

1.1 .1   單點(diǎn)登錄原理

單點(diǎn)登錄 ( SSO ) 是指一個(gè)用戶身份只需進(jìn)行一次鑒權(quán)便可以訪問所有經(jīng)授權(quán)的資源,而不需要多次認(rèn)證。 SSO 機(jī)制能夠減少人為錯(cuò)誤,同時(shí)提高整個(gè)系統(tǒng)的安全性。雖然 SSO 很有價(jià)值,但是它的實(shí)現(xiàn)并不容易,因?yàn)榈侥壳盀橹惯€沒有一種用戶身份驗(yàn)證的統(tǒng)一標(biāo)準(zhǔn)。 IBM WebSphere  Portal 服務(wù)器提供了各種手段使 SSO 的實(shí)現(xiàn)簡單化、安全化、有效化。

為企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!

通常會有 外置代理和內(nèi)置代理兩種方法。

1 .外置代理

在有些情況下,可以使用一種類似中介的代理進(jìn)程,該進(jìn)程處于用戶和應(yīng)用程序之間,如圖 1- 1 所示。當(dāng)用戶被應(yīng)用程序要求提供身份證明時(shí),代理進(jìn)程從用戶資料庫中得到用戶的信用狀,并送給應(yīng)用程序。信用狀相當(dāng)于一個(gè)令牌,它只有用戶的身份信息,而沒有用戶的密碼憑證。換句話說,使用外置代理實(shí)現(xiàn)單點(diǎn)登錄,被集成的 Web 應(yīng)用系統(tǒng)是不再驗(yàn)證該用戶在 Web 應(yīng)用系統(tǒng)中的密碼的。它認(rèn)為,只要你是 Portal 的合法用戶并且成功登錄了 Portal ,你只需告訴我你的身份跟角色,我就認(rèn)為你是該 Web 系統(tǒng)中可以使用授權(quán)信息的合法用戶了。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 1   門戶服務(wù)器進(jìn)行身份驗(yàn)證過程 — — Web 應(yīng)用沒有提供 Authentication API 的情況

 ① 用戶登錄到門戶服務(wù)器,身份驗(yàn)證服務(wù)對用戶進(jìn)行身份驗(yàn)證。

  ② 驗(yàn)證通過,建立用戶信用狀,并請求建立用戶默認(rèn)桌面。

  ③ 代 理程序使用用戶信用狀,并發(fā)送請求給目錄服務(wù),要求得到 Web 應(yīng)用的用戶名和口令。

  ④ 得到用戶名和權(quán)限信息。

  ⑤ 代理程序使用它們進(jìn)入 Web 應(yīng)用并依據(jù)權(quán)限信息得到應(yīng)用數(shù)據(jù)。

  ⑥ 代理程序?qū)⒌玫降臄?shù)據(jù)格式化后生成用戶默認(rèn)桌面,應(yīng)用程序的內(nèi)容以門戶 Channel 的形式展現(xiàn)。

  ⑦ 將生成的桌面?zhèn)魉徒o用戶。

上面的情況適用于 Web 應(yīng)用沒有提供 Authentication API 的情況,對于提供 Authentication API 的 Web 應(yīng)用(如 Lotus Notes ),則多出來一步,即第 4 步:鑒權(quán)。用戶在 Web 應(yīng)用中的用戶名和密碼必須事先通過加密存儲機(jī)制存儲到 Portal 平臺,此時(shí)代理程序建立的信用狀同時(shí)包含了此用戶在該 Web 應(yīng)用系統(tǒng)中的密碼。代理程序攜帶此用戶的用戶名和密碼調(diào)用 Web 驗(yàn)證服務(wù)實(shí)現(xiàn)認(rèn)證過程,認(rèn)證完成后,至于此用戶在該 Web 系統(tǒng)中到底有哪些權(quán)限,這就由接下來的 Web 系統(tǒng)去執(zhí)行了,因?yàn)榇藭r(shí)此用戶已經(jīng)通過調(diào)用驗(yàn)證服務(wù)的手段成功登錄了該 Web 應(yīng)用系統(tǒng)。如圖 1- 2 所示。 單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 2   門戶服務(wù)器進(jìn)行身份驗(yàn)證過程 — — Web 應(yīng)用提供 Authentication API 的情況

 ① 用戶登錄門戶服務(wù)器。

 ② 請求建立用戶默認(rèn)桌面。

 ③ 代理程序使用 Portal Token 并批準(zhǔn)使用 Web 應(yīng)用的 Authentication API 進(jìn)行用戶身份驗(yàn)證。所使用的用戶名與登錄門戶服務(wù)器時(shí)使用的一樣,或者是一個(gè)映射值,映射表應(yīng)存放在門戶服務(wù)器的 Profile 中。

 ④ 進(jìn)行用戶鑒權(quán)。

 ⑤ 鑒權(quán)成功。

 ⑥ 代理程序使用 Web 應(yīng)用 API   獲取數(shù)據(jù)。

 ⑦ 代理程序?qū)⒌玫降臄?shù)據(jù)格式化后生成用戶默認(rèn)桌面,應(yīng)用程序的內(nèi)容以門戶 Channel 的形式展現(xiàn)。

 ⑧ 將生成的桌面?zhèn)魉徒o用戶。

上面所提到的代理程序,可以通過 IBM WebSphere Portal 提供的 API 編寫的  Servlet 程序?qū)崿F(xiàn)。這個(gè)  Servlet   程序?qū)⒂脩舻男庞脿顐鬟f給應(yīng)用程序,并將用戶重定向到應(yīng)用的主頁面。  

外置代理的優(yōu)點(diǎn):

—  啟動(dòng)投資相對較少。

缺點(diǎn):

—  不利于系統(tǒng)管理和維護(hù)。

—  對系統(tǒng)總體性能有影響。

—  不支持跨域的 SSO 。

2 .內(nèi)置代理

內(nèi)置代理方法 是 指 利用策略管理軟件,即 Identity 服務(wù)器軟件。策略管理軟件的工作原理是,在 Web 服務(wù)器上安插一個(gè)代理模塊( Agent Module ),該模塊與   Identity   服務(wù)器共同負(fù)責(zé)用戶身份驗(yàn)證和授權(quán)信息。

要 將策略管理軟件與 Portal 服務(wù)器進(jìn)行集成,可以將策略代理模塊安裝在內(nèi)嵌于 Portal 服務(wù)器中的 Web 服務(wù)器上,并使用 Portal 服務(wù)器提供的 API ,基于策略管理軟件的 S ession 創(chuàng)建過程生成一個(gè)有效的 Portal   服務(wù)器 S ession 。這樣,用戶可以在策略管理系統(tǒng)的控制下訪問任何 W eb 應(yīng)用。

內(nèi)置代理的 優(yōu)點(diǎn):

—  通過 Identity 服務(wù)器及其 Web 代理模塊可以安全 、 有效地控制用戶身份驗(yàn)證和資源訪問 。

—  提供集中的訪問控制管理,增強(qiáng)大型復(fù)雜應(yīng)用系統(tǒng)的可管理性和效率 。

—  為系統(tǒng)開發(fā)人員提供一種簡單的方法對集中化的目錄資源進(jìn)行訪問,易于擴(kuò)展 。

—  通過 Extranet Web Agents ,可以無縫地集成 Web 應(yīng)用 。

—  具有 支持百萬級用戶的良好系統(tǒng)擴(kuò)展性 。

—  保護(hù)投資 。

—  支持跨域的 SSO 。

從邏輯概念上 看 , Identity 服務(wù)器作為企業(yè)核心的應(yīng)用訪問控制器,而 Portal 服務(wù)器則是一個(gè)內(nèi)容聚合器,聚合由 Identity 服務(wù)器保護(hù)的應(yīng)用。同時(shí), Portal 服務(wù)器還作為企業(yè)內(nèi)部安全的應(yīng)用訪問轉(zhuǎn)送器。 使用內(nèi)置代理實(shí)現(xiàn) Portal 與 Web 應(yīng)用系統(tǒng)的原理及過程如下,我們分 12 個(gè)步驟來介紹。

 ① 用戶訪問門戶網(wǎng)關(guān)。

 ② 門戶網(wǎng)關(guān)檢查當(dāng)前 IPS Session 是否包含有效的 Cookie ,如果不包含(即 Session 還未建立),門戶網(wǎng)關(guān)則將信息包傳給門戶服務(wù)器的身份驗(yàn)證模塊。

 ③ 服務(wù)器的身份驗(yàn)證模塊將信息包轉(zhuǎn)發(fā)給 Identity 服務(wù)器的代理模塊。

 ④ 代理模塊給用戶發(fā)送一個(gè)經(jīng)過定制的登錄頁面(此頁面顯示使用 Identity 服務(wù)器進(jìn)行身份驗(yàn)證)。

  ⑤ 用戶輸入用戶名 / 口令(或其他身份信息),并返回給代理模塊。

 ⑥ 代理模塊將該信息發(fā)送給 Identity   服務(wù)器。

 ⑦ Identity 服務(wù)器驗(yàn)證用戶身份(查詢存儲用戶信息的目錄數(shù)據(jù)庫)。

 ⑧ 驗(yàn) 證成功, Identity 服務(wù)器生成 Identity Cookie (包含驗(yàn)證成功等信息) , 并發(fā)送給代理模塊。

 ⑨ 代理模塊存儲 Identity Cookie ,并調(diào)用門戶服務(wù)器的身份驗(yàn)證模塊使 Session 有效(生成一個(gè) Portal Session )。

 ⑩ 門戶服務(wù)器的身份驗(yàn)證模塊將 Identity Session 和 Portal Session 發(fā)送給用戶瀏覽器。

 ? 門戶網(wǎng)關(guān)保存 Portal Session ,使用戶的 Session 生效。

 ? 門戶網(wǎng)關(guān)給用戶發(fā)送門戶首頁。

一旦身份驗(yàn)證流程完成,用戶不需要重新認(rèn)證就可以訪問由門戶服務(wù)器及 Identity 服務(wù)器保護(hù)的任何資源和應(yīng)用。

3 . 頁面流方式實(shí)現(xiàn)單點(diǎn)登錄

頁面流方式的單點(diǎn)登錄,指的是用戶成功登錄 Portal 后,在業(yè)務(wù)系統(tǒng)中用戶每調(diào)用一次 Web 系統(tǒng)的頁面, Web 系統(tǒng)都要聯(lián)絡(luò)代理進(jìn)行一次驗(yàn)證。 iDSAME 產(chǎn)品就提供了這種功能,它是一種更加嚴(yán)格的訪問控制策略,用來保護(hù)企業(yè)核心、重要系統(tǒng)的數(shù)據(jù)和資源,具體實(shí)現(xiàn)是由 iDSAME 的 Web 代理以及相應(yīng)的 URL 訪問策略來共同完成的。

Web 代理安裝在受保護(hù)資源的機(jī)器上,當(dāng)用戶訪問受保護(hù)的系統(tǒng)資源時(shí), Web 代理首先截獲請求,檢查訪問的是否是受保護(hù)資源,如果不是,則允許訪問;如果是, iDSAME 則會根據(jù)用戶的 Token 檢查用戶能訪問還是不能訪問。與內(nèi)置代理、外置代理不同,使用該策略實(shí)現(xiàn)單點(diǎn)登錄會嚴(yán)重降低應(yīng)用系統(tǒng)的性能,因?yàn)橛脩裘吭L問一個(gè)頁面,都會引起一次鑒權(quán)的過程。通常,這種情況應(yīng)用于企業(yè)的比較核心和重要的業(yè)務(wù)系統(tǒng)中。

4 .交叉域單點(diǎn)登錄

交叉域單點(diǎn)登錄( Cross Domain SSO )是指實(shí)現(xiàn)單點(diǎn)登錄的幾個(gè)應(yīng)用服務(wù)器在不同的域內(nèi)。在這種情況下要實(shí)現(xiàn)單點(diǎn)登錄,必須將其他域轉(zhuǎn)換到本地域,進(jìn)行域名映射。交叉域單點(diǎn)登錄實(shí)現(xiàn)原理示意圖如圖 1- 3 所示。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 3   交叉域單點(diǎn)登錄實(shí)現(xiàn)原理示意圖

1.1 .2   單點(diǎn)登錄的技術(shù)方案

針對集成的不同的應(yīng)用系統(tǒng),我們會提供不同的單點(diǎn)登錄解決方案,下面是實(shí)現(xiàn)單點(diǎn)登錄功能的 常用技術(shù)方案。

1 . LTPA ( Lightweight Third-Party Authentication ) 令牌環(huán)技術(shù)

LTPA 是一種令牌環(huán),上面記錄了用戶的登錄信息和身份信息,它 提供 了 基于 Cookie 的輕量級第三方認(rèn)證機(jī)制( LTPA ),當(dāng)用戶發(fā)出對資源的請求時(shí),首先 必須 向 認(rèn)證服務(wù)器 認(rèn)證。認(rèn)證成功后, 認(rèn)證服務(wù)器 代表用戶生成 LTPA Cookie 。作為認(rèn)證標(biāo)記服務(wù)的 LTPA Cookie 中 包含用戶標(biāo)識、密鑰和標(biāo)記數(shù)據(jù)、緩沖區(qū)長度和到期信息,此信息使用 認(rèn)證服務(wù)器 和 應(yīng)用系統(tǒng) 之間共享的受密碼保護(hù)的密鑰加密。 認(rèn)證服務(wù)器 在請求的 HTTP 頭中插入 Cookie ,該請求通過連接發(fā)送到 應(yīng)用系統(tǒng) , 應(yīng)用系統(tǒng) 服務(wù)器接收請求、解密 Cookie 并基于 Cookie 中提供的標(biāo)識信息認(rèn)證用戶。

2 .基于表單的單點(diǎn)登錄( Form-Based SSO )

基 于表單的單點(diǎn)登錄 ( Form-Based SSO ) 功能 , 允許 認(rèn)證服務(wù)器 將已認(rèn)證的用戶透明地登錄到需要通過 HTML 表單認(rèn)證的后臺系統(tǒng)中 。基于表單的單點(diǎn)登錄實(shí)現(xiàn)原理示意圖如 圖 1- 4 所示。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 4   基于表單的單點(diǎn)登錄實(shí)現(xiàn)原理示意圖

3 . HTTP 頭文件( HTTP Header )技術(shù)

利用 HTTP Header 這種認(rèn)證方式, 認(rèn)證服務(wù)器 可以把經(jīng)過認(rèn)證的用戶身份信息(包括賬號、屬性信息等),通過 HTTP Header 傳給后臺的應(yīng)用系統(tǒng),后臺的應(yīng)用系統(tǒng)可以從 HTTP Header 中把這些用戶信息截取出來,用來確認(rèn)用戶身份,從而實(shí)現(xiàn)統(tǒng)一認(rèn)證(單點(diǎn)登錄)的功能。這種統(tǒng)一認(rèn)證的方式需要后臺的應(yīng)用系統(tǒng)進(jìn)行相應(yīng)的修改,使它可以獲得 HTTP Header 中的用戶信息。

4 .憑證保險(xiǎn)庫( GSO-Lockbox )技術(shù)

GSO-Lockbox 這種實(shí)現(xiàn)單點(diǎn)登錄的方式一般會和 Form-Based SSO 方式一起來使用,主要 是 考慮到每個(gè)人在各個(gè)系統(tǒng)中的用戶身份可能會不一致,利用這種方式可以解決這種問題。利用 GSO-Lockbox ,可以建立起用戶身份信息和后臺應(yīng)用系統(tǒng)之間的對應(yīng)關(guān)系 。

在不同的產(chǎn)品中有各自的實(shí)現(xiàn)方式,例如,在 IBM WebSphere Portal 中叫做 Credential Vault ,也翻譯為 “憑證保險(xiǎn)庫”。憑證保險(xiǎn)庫為實(shí)現(xiàn)單點(diǎn)登錄的每套應(yīng)用系統(tǒng)創(chuàng)建一個(gè)憑證保險(xiǎn)段,在每個(gè)憑證保險(xiǎn)段里則為每個(gè) Web 用戶創(chuàng)建一個(gè)憑證保險(xiǎn)槽。槽是最小的憑證單位,用來存儲一個(gè)用戶在一套應(yīng)用系統(tǒng)中的用戶名和密碼鍵值對(見表 1- 1 )。

表 1- 1   GSO-Lockbox 實(shí)現(xiàn)單點(diǎn)登錄的方式

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

以上幾種方式很難說誰最好,最佳實(shí)踐的做法是根據(jù)客戶的具體情況選用不同的解決方案,或幾種實(shí)現(xiàn)方案同時(shí)使用,依據(jù)不同的應(yīng)用系統(tǒng)情況而定。但通常來說,應(yīng)遵循如下幾個(gè)原則。

( 1 )對部署在 WebSphere Application Server 、 WebLogic Server 、 SAP NetWeaver Application Server 、 Domino 等服務(wù)器上能識別 LTPA 令牌環(huán),且用戶目錄與 Portal 的用戶目錄為同一套,或者有一一對應(yīng)關(guān)心的應(yīng)用系統(tǒng),與 Portal 實(shí)現(xiàn)單點(diǎn)登錄時(shí),建議采用 LTPA 機(jī)制。

( 2 )對部署在 WebSphere Application Server 、 WebLogic Server 、 SAP NetWeaver Application Server 、 Domino 等服務(wù)器上,且用戶目錄與 Portal 的用戶目錄不是同一套,或者沒有一一對應(yīng)的應(yīng)用系統(tǒng),與 Portal 實(shí)現(xiàn)單點(diǎn)登錄時(shí),建議采用 JAAS 認(rèn)證。

( 3 )用戶注冊表與 Portal 不一致,但應(yīng)用系統(tǒng)中的用戶在 Portal 中都有對應(yīng)的用戶時(shí),不管其用戶名編排規(guī)則是否一致,皆建議采用憑證保險(xiǎn)庫技術(shù)。

1.2    單點(diǎn)登錄在最佳項(xiàng)目實(shí)踐 中的應(yīng)用

使用單點(diǎn)登錄技術(shù)實(shí)現(xiàn) Portal 系統(tǒng)與其他應(yīng)用系統(tǒng)的單點(diǎn)登錄后,用戶只要成功登錄 Portal ,就可以無須再次登錄而直接進(jìn)入應(yīng)用系統(tǒng),或者在 Portal 中直接使用應(yīng)用系統(tǒng)中授權(quán)的應(yīng)用或信息。在進(jìn)行實(shí)際項(xiàng)目開發(fā)時(shí),通常會設(shè)計(jì)如下幾種模式,作為單點(diǎn)登錄及單點(diǎn)登錄的擴(kuò)展應(yīng)用。

1.2 .1   以列表的方式進(jìn)入應(yīng)用系統(tǒng)首頁

以列表的方式進(jìn)入應(yīng)用系統(tǒng)首頁,指的是提供一個(gè)展現(xiàn)應(yīng)用系統(tǒng)列表的 Portlet ,上面列出了實(shí)現(xiàn)單點(diǎn)登錄的所有應(yīng)用系統(tǒng)(見圖 1- 5 )。點(diǎn)擊列表中的條目,可以直接在新的頁面中進(jìn)入該應(yīng)用系統(tǒng),而無須再次登錄或者提供任何憑證。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 5   以列表 Portlet 的方式應(yīng)用單點(diǎn)登錄

1.2 .2   直接進(jìn)入各個(gè)應(yīng)用系統(tǒng)的深度集成模式

很多時(shí)候,用戶需要進(jìn)入到系統(tǒng)的某個(gè)深層次頁面,而不是從系統(tǒng)首頁一步步點(diǎn)擊。單點(diǎn)登錄的深度集成模式指的是通過不同的標(biāo)簽直接進(jìn)入到客戶想進(jìn)去的頁面,如圖 1- 6 所示。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 6   點(diǎn)擊不同的標(biāo)簽直接進(jìn)入到應(yīng)用系統(tǒng)的深度集成頁面

1.2 .3   以應(yīng)用導(dǎo)航的方式梳理后集成

很多客戶會有這樣的經(jīng)驗(yàn):當(dāng)應(yīng)用系統(tǒng)過多時(shí),自己都忘記了發(fā)起某個(gè)業(yè)務(wù)或某個(gè)功能的頁面到底在哪套系統(tǒng)中。應(yīng)用導(dǎo)航集成思路指的是,不是從應(yīng)用系統(tǒng)的角度梳理深度集成的頁面,而是從用戶的業(yè)務(wù)應(yīng)用角度來分析,將用戶經(jīng)常使用的功能頁面從業(yè)務(wù)的角度梳理、分類,并分門別類地展現(xiàn)到系統(tǒng)中。用戶只需知道要干什么就行了,而不必關(guān)心要執(zhí)行的這個(gè)頁面到底在哪套系統(tǒng)中。也就是說,讓用戶忘掉系統(tǒng)的存在。圖 1- 7 所示是典型的應(yīng)用導(dǎo)航圖。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 7   典型的應(yīng)用導(dǎo)航圖(應(yīng)用導(dǎo)航允許用戶忘記系統(tǒng)的存在,只需知道要干什么就行了)

1.2 .4   作為統(tǒng)一待辦調(diào)用任務(wù)處理界面時(shí)的通用驗(yàn)證邏輯單元

單點(diǎn)登錄的最廣泛和深入的應(yīng)用莫過于統(tǒng)一工作待辦了。把所有系統(tǒng)中每個(gè)用戶需要待辦的事項(xiàng)分門別類地按照業(yè)務(wù)域劃分出來,并集中展現(xiàn)到一個(gè)個(gè)欄目中,讓用戶原來需要登錄多套系統(tǒng)去處理的待辦事項(xiàng),在一個(gè)欄目中就完成了,多方便啊!圖 1- 8 所示是將來自幾十套系統(tǒng)的待辦事項(xiàng)統(tǒng)一集成到一個(gè)欄目中,并按照 9 大業(yè)務(wù)域劃分的一個(gè)典型場景。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

圖 1- 8   按照業(yè)務(wù)域在一個(gè)欄目中集中展現(xiàn)來自幾十套系統(tǒng)的待辦事項(xiàng)

1.3    單點(diǎn)登錄技術(shù)的開發(fā) /配置指南

單點(diǎn)登錄的實(shí)現(xiàn)技術(shù)還有很多,比如 JAAS 認(rèn)證等,但在項(xiàng)目實(shí)踐中應(yīng)用最多的就是 LTPA 令牌環(huán)和憑證保險(xiǎn)庫技術(shù)。本節(jié)詳細(xì)介紹這兩種方案的開發(fā) / 配置過程。

1.3 .1  LTPA 技術(shù)是如何實(shí)現(xiàn)

1.3 .1.1  LTPA 對于 SSO 的 工作 機(jī)制

LTPA 機(jī)制適用于部署在 WebSphere Application Server 、 WebLogic Server 、 SAP NetWeaver Application Server 、 Domino 等服務(wù)器上,它能識別 LTPA 令牌環(huán),以及用戶目錄與 Portal 的用戶目錄為同一套,或有一一對應(yīng)關(guān)系的應(yīng)用系統(tǒng)。本節(jié)以 WebSphere Portal 與 Domino 之間實(shí)現(xiàn)單點(diǎn)登錄為例,介紹 LTPA 機(jī)制是如何配置的。

LTPA ( 輕量級第三方認(rèn)證 )是一個(gè)令牌環(huán), 它是通過使用 Domain Cookie 而啟用的。這種經(jīng)過加密的會話 C ookie 被放置在用戶瀏覽器中,包含了一些信息, WebSphere 或者 Domino Application 服務(wù)器可以加密這些信息,并使用這些信息來說明用戶已經(jīng)通過該 C ookie 所覆蓋的 DNS ( Domain Naming Service ,域名服務(wù))域中的認(rèn)證。

LTPA C ookie 包含以下信息 。

—  Cookie 名稱:總是設(shè)置為 LtpaToken 。

—  域:設(shè)置為 Internet 域,該域由參與單點(diǎn)登錄的所有服務(wù)器共享(例如: mycompany.   com )。

—  Cookie 到期:設(shè)置為當(dāng)瀏覽器終止時(shí)刪除該 C ookie 。

—  安全:設(shè)置為開狀態(tài),以強(qiáng)制使用安全套接字層 ( SSL ) 。 LTPA 配置有一個(gè)設(shè)置參數(shù),使它創(chuàng)建只通過 SSL 發(fā)送的 C ookie 。

—  Cookie 值:被設(shè)置為 LTPA 標(biāo)記。

LTPA 標(biāo)記是一個(gè)加密的字符串,它包含以下信息 。

—  用戶數(shù)據(jù):一般被設(shè)置為用戶 ID ,但也可以是任何用于 唯 一標(biāo)識用戶的用戶信息。

—  過期時(shí)間:與 Cookie 過期不同,這個(gè)字段用于強(qiáng)加一個(gè)時(shí)間限制,時(shí)間限制從登錄進(jìn)來的那一刻算起,而不受瀏覽器活動(dòng)或者不活動(dòng)影響。 這個(gè)時(shí)間限制是一個(gè)可 設(shè) 置的 LTPA 配 置, 在默認(rèn) 情況下為 30 分鐘。

1.3 .1.2   如何配置 Portal 與 Domino 之間的 SSO

Portal 與 Domino 的 SSO 可以通過配置 LTPA 的方法來實(shí)現(xiàn)。通俗地講就是,用戶登錄 Portal 系統(tǒng)后, Portal 系統(tǒng)會把用戶登錄信息加密成 LTPA 并存放到某一位置,當(dāng)用戶繼續(xù)訪問 Domino 系統(tǒng)中的授權(quán)資源時(shí), Domino 系統(tǒng)會自動(dòng)讀取該位置的 LTPA ,讀到并解密后拿到 Domino 系統(tǒng)中驗(yàn)證,如果驗(yàn)證通過,則顯示給用戶授權(quán)信息。所以要配置 Portal 與 Domino 之間的 SSO 非常容易,只要先將 Domino 系統(tǒng)服務(wù)器的 LTPA 導(dǎo)出并存為 .key 文件,然后導(dǎo)入 Portal 系統(tǒng)所在的服務(wù)器( WebShpere Application Server )中就可以了。

1.3 .2   憑證保險(xiǎn)庫 技術(shù)是如何實(shí)現(xiàn)的

1.3 .2.1   概述

WebSphere Portal 提供了 Credential Vault (憑證保險(xiǎn)庫)功能 , Credential Vault 通過 Basic Authentication Header 將用戶名和密碼傳遞給后端應(yīng)用程序。為了使 Domino 服務(wù)器接受通過這個(gè)頭部傳遞進(jìn)來的憑證,必須將服務(wù)器會話驗(yàn)證配置為 Single-Server 模式。在 Multi-Server 模式中,該服務(wù)器只接受通過 LTPA 機(jī)制傳遞的憑證。因此,為了與 Domino 應(yīng)用程序一起使用用于 SSO 的 Credential Vault ,必須將 Domino 服務(wù)器會話驗(yàn)證配置為 Single-Server 模式。

要使用 Credential Vault ,用戶需輸入一些憑證,輸入一次就夠了。隨后,這些憑證被存放在一個(gè)經(jīng)過加密的數(shù)據(jù)庫表中,每當(dāng)用戶訪問該 P ortlet 時(shí),這些憑證便被傳遞給后端應(yīng)用程序。要了解關(guān)于配置 Credential Vault 的細(xì)節(jié), 請 參見 WebSphere Portal InfoCenter 。

1.3 .2.2  憑證保險(xiǎn)庫實(shí)現(xiàn) SSO 原理

下面以一個(gè)最簡單的 SSO 過程為例進(jìn)行介紹。

  普 通業(yè)務(wù)系統(tǒng)的登錄過程:系統(tǒng)首先提供一個(gè)頁面,讓我們輸入應(yīng)用程序中的用戶信息。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

  用戶輸入用戶名和密碼后,單擊 “登錄”按鈕,該頁面提交到 form 所對應(yīng)的 Action ( check_login.jsp )進(jìn)行處理,我們看 check_login.jsp 的代碼。

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

接下來提交到數(shù)據(jù)庫驗(yàn)證用戶信息的合法性,如果合法,則定位到授權(quán)信息頁面;否則,重定位回到登錄頁面 login.jsp 。

在 Portlet 開發(fā)中是如何解決這個(gè)問題的?

其實(shí)起關(guān)鍵作用的還是 check_login.jsp 頁面,它需要獲得用戶名和密碼兩個(gè)鍵值,然后拿著這兩個(gè)參數(shù)到后臺數(shù)據(jù)庫去驗(yàn)證。在常規(guī)的登錄方式中,這兩個(gè)參數(shù)是通過 login.jsp 獲得的。事實(shí)上,只要 Portlet 能為該頁面提供這兩個(gè)鍵值,也就實(shí)現(xiàn)了登錄的自動(dòng)化。而 Portlet 要得到這兩個(gè)參數(shù)是非常簡單的,所以實(shí)現(xiàn)單點(diǎn)登錄也就非常簡單了。我們可以復(fù)制一個(gè) check_login.jsp 文件,例如名為 check_portal_login.jsp ,這個(gè)頁面的兩個(gè)參數(shù)是 Portlet 提供的,剩下的事完全交給業(yè)務(wù)系統(tǒng)去處理,頁面流轉(zhuǎn)和全線控制都不用我們管了。

1.3 .2.3  開發(fā) Portlet 實(shí)現(xiàn) SSO 的方法

( 1 ) JSP 取值傳送 URL

我們開發(fā)一個(gè)使用系統(tǒng)專用槽的 Portlet ,使用憑證保險(xiǎn)庫的相關(guān)接口在 PortletView.jsp 中取出用戶存儲在憑證保險(xiǎn)庫中的鍵值,然后以 URL 的方式傳送到 iFrame 內(nèi)。

PortletView.jsp 的部分代碼如下:

單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較

如果用戶已經(jīng)在憑證保險(xiǎn)庫中存儲了鍵值,那么該 Portlet 的 View.jsp 頁面被初始化時(shí), iFrame 中將顯示用戶成功登錄后的授權(quán)信息,也就是實(shí)現(xiàn)了 SSO 。

( 2 ) Class 取值寫 Session , JSP 取出并以 URL 傳送

我們在 Portlet 的控制類中取得用戶存儲在憑證保險(xiǎn)庫中的鍵值對,并在 PortletView 的 doview() 方法中寫入 Session 。在 Portlet 的V iwe.jsp 中取出 Session ,然后像第一種方法一樣,以 URL 的方式傳送到目的代理。

( 3 ) Class 寫 Session ,單點(diǎn)登錄代理取 Session

我們在 Portlet 的控制類中取得用戶存儲在憑證保險(xiǎn)庫中的鍵值對,并在 PortletView 的 doview() 方法中寫入 Session 。而專為 Portal 開發(fā)的協(xié)助登錄頁面則會直接從 Session 中取出用戶憑證,具體的操作方法略過。

由于這幾種方法開發(fā)起來比較簡單,所以這里就一帶而過,不再詳細(xì)介紹了。

分享標(biāo)題:單點(diǎn)登錄原理與技術(shù)實(shí)現(xiàn)比較-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://www.rwnh.cn/article2/iipic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作面包屑導(dǎo)航、企業(yè)建站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
高雄市| 浪卡子县| 随州市| 江阴市| 长宁县| 沂南县| 汉阴县| 麟游县| 东乌| 和平区| 丹东市| 城固县| 杭锦旗| 大兴区| 聂拉木县| 曲沃县| 山西省| 象州县| 西安市| 同德县| 都安| 吐鲁番市| 廊坊市| 永嘉县| 永善县| 奉贤区| 太仆寺旗| 兰考县| 开化县| 英吉沙县| 崇明县| 宜宾市| 芦溪县| 孙吴县| 旺苍县| 辽阳市| 麻城市| 青岛市| 赣榆县| 高淳县| 汪清县|