freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于net的單點(diǎn)登錄(sso)解決方案_畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-10-02 15:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 URL 也是 CAS 服務(wù)器提供的。 ? CAS 通過(guò)校驗(yàn)路徑獲得了 ticket 之后,通過(guò)內(nèi)部的數(shù)據(jù)庫(kù)對(duì)其進(jìn)行判斷。如果判斷是有效性,則返回一個(gè) NetID 給應(yīng)用程序。 ? 隨后 CAS 將 ticket 作廢,并且在客戶端留下一個(gè) cookie。 ? 以后其他應(yīng)用程序就使用這個(gè) cookie進(jìn)行認(rèn)證(當(dāng)然通過(guò) CAS 的客戶端),而不再需要輸入用戶名和密碼。 單 點(diǎn)登錄( SSO)的技術(shù)被越來(lái)越廣泛地運(yùn)用到各個(gè)領(lǐng)域的軟件系統(tǒng)當(dāng)中。本文從業(yè)務(wù)的角度分析了單點(diǎn)登錄的需求和應(yīng)用領(lǐng)域;從技術(shù)本身的角度分析了單點(diǎn)登錄技術(shù)的內(nèi)部機(jī)制和實(shí)現(xiàn)手段,并且給出 WebSSO和桌面 SSO 的實(shí)現(xiàn)、源代碼和詳細(xì)講解;還從安全和性能的角度對(duì)現(xiàn)有的實(shí)現(xiàn)技術(shù)進(jìn)行進(jìn)一步分析,指出相應(yīng)的風(fēng)險(xiǎn)和需要改進(jìn)的方面。本文除了從多個(gè)方面和角度給出了對(duì)單點(diǎn)登錄( SSO)的全面分析,還并且討論了如何將現(xiàn)有的應(yīng)用和 SSO服務(wù)結(jié)合起來(lái),能夠幫助應(yīng)用架構(gòu)師和系統(tǒng)分析人員從本質(zhì)上認(rèn)識(shí)單點(diǎn)登錄,從而更好地設(shè)計(jì)出符合需要的安全架 構(gòu)。 關(guān)鍵字: SSO, Java, J2EE, JAAS 1 什么是單點(diǎn)登陸 單點(diǎn)登錄( Single Sign On),簡(jiǎn)稱為 SSO,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。 SSO 的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。 較大的企業(yè)內(nèi)部,一般都有很多的業(yè)務(wù)支持系統(tǒng)為其提供相應(yīng)的管理和 IT 服 務(wù)。例如財(cái)務(wù)系統(tǒng)為財(cái)務(wù)人員提供財(cái)務(wù)的管理、計(jì)算和報(bào)表服務(wù);人事系統(tǒng)為人事部門提供全公司人員的維護(hù)服務(wù);各種業(yè)務(wù)系統(tǒng)為公司內(nèi)部不同的業(yè)務(wù)提供不同的 服務(wù)等等。這些系統(tǒng)的目 的都是讓計(jì)算機(jī)來(lái)進(jìn)行復(fù)雜繁瑣的計(jì)算工作,來(lái)替代人力的手工勞動(dòng),提高工作效率和質(zhì)量。這些不同的系統(tǒng)往往是在不同的時(shí)期建設(shè)起來(lái) 的,運(yùn)行在不同的平臺(tái)上;也許是由不同廠商開發(fā),使用了各種不同的技術(shù)和標(biāo)準(zhǔn)。如果舉例說(shuō)國(guó)內(nèi)一著名的 IT 公司(名字隱去),內(nèi)部 共有 60 多個(gè)業(yè)務(wù)系統(tǒng),這些系統(tǒng)包括兩個(gè)不同版本的 SAP 的 ERP系統(tǒng), 12個(gè)不同類型和版本的數(shù)據(jù)庫(kù)系統(tǒng), 8 個(gè)不同類型和版本的操作系統(tǒng),以及使用了 3 種不同的防火墻技術(shù),還有數(shù)十種互相不能兼容的協(xié)議和標(biāo)準(zhǔn),你相信嗎?不要懷疑,這種情況其實(shí)非常普遍。每一個(gè)應(yīng)用系統(tǒng)在運(yùn)行了數(shù) 年以后,都會(huì)成為不可替換的企業(yè) IT 架構(gòu)的一部分,如下圖所示。 隨 著企業(yè)的發(fā)展,業(yè)務(wù)系統(tǒng)的數(shù)量在不斷的增加,老的系統(tǒng)卻不能輕易的替換,這會(huì)帶來(lái)很多的開銷。其一是管理上的開銷,需要維護(hù)的系統(tǒng)越來(lái)越多。很多系統(tǒng)的數(shù) 據(jù)是相互冗余和重復(fù)的,數(shù)據(jù)的不一致性會(huì)給管理工作帶來(lái)很大的壓力。業(yè)務(wù)和業(yè)務(wù)之間的相關(guān)性也越來(lái)越大,例如公司的計(jì)費(fèi)系統(tǒng)和財(cái)務(wù)系統(tǒng),財(cái)務(wù)系統(tǒng)和人事系 統(tǒng)之間都不可避免的有著密切的關(guān)系。 為了降低管理的消耗,最大限度的重用已有投資的系統(tǒng),很多企業(yè)都在進(jìn)行著企業(yè)應(yīng)用集成( EAI)。 企業(yè)應(yīng)用集成可以在 不同層面上進(jìn)行:例如在數(shù)據(jù)存儲(chǔ)層面上的 “數(shù)據(jù)大集中 ”,在傳輸層面上的 “通用數(shù)據(jù)交換平臺(tái) ”,在應(yīng)用層面上的 “業(yè)務(wù)流程整合 ”,和用 戶界面上的 “通用企業(yè)門戶 ”等等。事實(shí)上,還用一個(gè)層面上的集成變得越來(lái)越重要,那就是 “身份認(rèn)證 ”的整合,也就是 “單點(diǎn)登錄 ”。 通常來(lái)說(shuō),每個(gè)單獨(dú)的系統(tǒng)都會(huì)有自己的安全體系和身份認(rèn)證系統(tǒng)。整合以前,進(jìn)入每個(gè)系統(tǒng)都需要進(jìn)行登錄,這樣的局面不僅給管理上帶來(lái)了很大的困難,在安全方面也埋下了重大的隱患。下面是一些著名的調(diào)查公司顯示的統(tǒng)計(jì)數(shù)據(jù): 用戶每天平均 16 分鐘花在身份驗(yàn)證任務(wù)上 資料來(lái)源: IDS 頻繁的 IT 用戶平均有 21 個(gè)密碼 資料來(lái)源: NTA Monitor Password Survey 49% 的人寫下了其密碼,而 67% 的人很少改變它們 每 79 秒出現(xiàn)一起身份被竊事件 資料來(lái)源: National Small Business Travel Assoc 全球欺騙損失每年約 12B 資料來(lái)源: Comm Fraud Control Assoc 到 2020 年,身份管理市場(chǎng)將成倍增長(zhǎng)至 $ 資料來(lái)源: IDS 使用 “單點(diǎn)登錄 ”整合后,只需要登錄一次就可以進(jìn)入多個(gè)系統(tǒng),而不需要重新登錄,這不僅僅帶來(lái)了更好的用戶體驗(yàn),更重要的是降低了安全的風(fēng)險(xiǎn)和管理的消耗。請(qǐng)看下面的統(tǒng)計(jì)數(shù)據(jù): 提高 IT 效率:對(duì)于每 1000 個(gè)受管用戶,每用戶可節(jié)省 $70K 幫助臺(tái)呼叫減少至少 1/3,對(duì)于 10K 員工的公司,每年可以節(jié)省每用戶 $75,或者合計(jì) $648K 生產(chǎn)力提高:每個(gè)新員工可節(jié)省 $1K,每個(gè)老員工可節(jié)省 $350 ?資料來(lái)源: Giga ROI 回報(bào): 到 13 個(gè)月 ?資料來(lái)源: Gartner 另外,使用 “單點(diǎn)登錄 ”還是 SOA時(shí)代的需求之一。在面向服務(wù)的架構(gòu)中,服務(wù)和服務(wù)之間,程序和程序之間的通訊大量存在,服務(wù)之間的安全認(rèn)證是 SOA應(yīng)用的難點(diǎn)之一,應(yīng)此建立“單點(diǎn)登錄 ”的系統(tǒng)體系能夠大大簡(jiǎn)化 SOA的安全問(wèn)題,提高服務(wù)之間的合作效率。 2 單點(diǎn)登陸的技術(shù)實(shí)現(xiàn)機(jī)制 隨著 SSO技術(shù)的流行, SSO 的產(chǎn)品也是滿天飛揚(yáng)。所有著名的軟件廠商都提供了相應(yīng)的解決方案。在這里我并不想介紹自己公司( Sun Microsystems)的產(chǎn)品,而是對(duì) SSO 技術(shù)本身進(jìn)行解析,并且提供自己開發(fā)這一類產(chǎn)品的方法和簡(jiǎn)單演示。有關(guān)我寫這篇文章的目的,請(qǐng) 參考我的博客( 單 點(diǎn)登錄的機(jī)制其實(shí)是比較簡(jiǎn)單的,用一個(gè)現(xiàn)實(shí)中的例子做比較。頤和園是北京著名的旅游景點(diǎn),也是我常去的地方。在頤和園內(nèi)部有許多獨(dú)立的景點(diǎn),例如 “蘇州 街 ”、 “佛香閣 ” 和 “德和園 ”,都可以在各個(gè)景點(diǎn)門口單獨(dú)買票。很多游客需要游玩所有德景點(diǎn),這種買票方式很不方便,需要在每個(gè)景點(diǎn)門口排隊(duì)買票,錢包拿 進(jìn)拿出的,容易丟失,很不安全。于是絕大多數(shù)游客選擇在大門口買一張通票(也叫套票),就可以玩遍所有的景點(diǎn)而不需要 重新再買票。他們只需要在每個(gè)景點(diǎn)門 口出示一下剛才買的套票就能夠被允許進(jìn)入每個(gè)獨(dú)立的景點(diǎn)。 單點(diǎn)登錄的機(jī)制也一樣,如下圖所示,當(dāng)用戶第一次訪問(wèn)應(yīng)用系統(tǒng) 1 的時(shí)候,因?yàn)檫€沒(méi)有登錄,會(huì)被引導(dǎo)到認(rèn)證系統(tǒng)中進(jìn)行登錄( 1);根據(jù)用戶提供的登錄信息,認(rèn)證系統(tǒng)進(jìn)行身份效驗(yàn),如果通過(guò)效驗(yàn),應(yīng)該返回給用戶一個(gè)認(rèn)證的憑據(jù)-- ticket( 2);用戶再訪問(wèn)別的應(yīng)用的時(shí)候( 3, 5)就會(huì)將這個(gè) ticket 帶上,作為自己認(rèn)證的憑據(jù),應(yīng)用系統(tǒng)接受到請(qǐng)求之后會(huì)把 ticket 送到認(rèn)證系統(tǒng)進(jìn)行效驗(yàn),檢查 ticket 的合法性( 4, 6)。如果通過(guò) 效驗(yàn),用戶就可以在不用再次登錄的情況下訪問(wèn)應(yīng)用系統(tǒng) 2 和應(yīng)用系統(tǒng) 3 了。 從上面的視圖可以看出,要實(shí)現(xiàn) SSO,需要以下主要的功能: 所有應(yīng)用系統(tǒng)共享一個(gè)身份認(rèn)證系統(tǒng)。 統(tǒng)一的認(rèn)證系統(tǒng)是 SSO的前提之一。認(rèn)證系統(tǒng)的主要功能是將用戶的登錄信息和用戶信息庫(kù)相比較,對(duì)用戶進(jìn)行登錄認(rèn)證;認(rèn)證成功后,認(rèn)證系統(tǒng)應(yīng)該生成統(tǒng)一的認(rèn)證標(biāo)志( ticket),返還給用戶。另外,認(rèn)證系統(tǒng)還應(yīng)該對(duì) ticket 進(jìn)行效驗(yàn),判斷其有效性。 所有應(yīng)用系統(tǒng)能夠識(shí)別和提取 ticket 信息 要實(shí)現(xiàn) SSO 的功能,讓用戶只登錄一次,就必須讓應(yīng)用 系統(tǒng)能夠識(shí)別已經(jīng)登錄過(guò)的用戶。應(yīng)用系統(tǒng)應(yīng)該能對(duì) ticket 進(jìn)行識(shí)別和提取,通過(guò)與認(rèn)證系統(tǒng)的通訊,能自動(dòng)判斷當(dāng)前用戶是否登錄過(guò),從而完成單點(diǎn)登錄的功能。 上面的功能只是一個(gè)非常簡(jiǎn)單的 SSO 架構(gòu),在現(xiàn)實(shí)情況下的 SSO 有著更加復(fù)雜的結(jié)構(gòu)。有兩點(diǎn)需要指出的是: 單一的用戶信息數(shù)據(jù)庫(kù)并不是必須的,有許多系統(tǒng)不能將所有的用戶信息都集中存儲(chǔ),應(yīng)該允許用戶信息放置在不同的存儲(chǔ)中,如下圖所示。事實(shí)上,只要統(tǒng)一認(rèn)證系統(tǒng),統(tǒng)一 ticket的產(chǎn)生和效驗(yàn),無(wú)論用戶信息存儲(chǔ)在什么地方,都能實(shí)現(xiàn)單點(diǎn)登錄。 統(tǒng)一的認(rèn)證系統(tǒng)并不是 說(shuō)只有單個(gè)的認(rèn)證服務(wù)器,如下圖所示,整個(gè)系統(tǒng)可以存在兩個(gè)以上的認(rèn)證服務(wù)器,這些服務(wù)器甚至可以是不同的產(chǎn)品。認(rèn)證服務(wù)器之間要通過(guò)標(biāo)準(zhǔn)的通訊協(xié)議,互相交換認(rèn)證信息,就能完成更高級(jí)別的單點(diǎn)登錄。如下圖,當(dāng)用戶在訪問(wèn)應(yīng)用系統(tǒng) 1時(shí),由第一個(gè)認(rèn)證服務(wù)器進(jìn)行認(rèn)證后,得到由此服務(wù)器產(chǎn)生的 ticket。當(dāng)他訪問(wèn)應(yīng)用系統(tǒng) 4的時(shí)候,認(rèn)證服務(wù)器 2能夠識(shí)別此 ticket 是由第一個(gè)服務(wù)器產(chǎn)生的,通過(guò)認(rèn)證服務(wù)器之間標(biāo)準(zhǔn)的通訊協(xié)議(例如 SAML)來(lái)交換認(rèn)證信息,仍然能夠完成 SSO 的功能。 3 WEBSSO 的實(shí)現(xiàn) 隨著互聯(lián)網(wǎng)的高速發(fā) 展, WEB 應(yīng)用幾乎統(tǒng)治了絕大部分的軟件應(yīng)用系統(tǒng),因此 WEBSSO是 SSO 應(yīng)用當(dāng)中最為流行。 WEBSSO有其自身的特點(diǎn)和優(yōu)勢(shì),實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單易用。很多商業(yè)軟件和開源軟件都有對(duì) WEBSSO 的實(shí)現(xiàn)。其中值得一提的是 OpenSSO ( Java 實(shí)現(xiàn) WEBSSO提供架構(gòu)指南和服務(wù)指南,為用戶自己來(lái)實(shí)現(xiàn) WEBSSO 提供了理論的依據(jù)和實(shí)現(xiàn)的方法。 為什么說(shuō) WEBSSO 比較容易實(shí)現(xiàn)呢?這是有 WEB 應(yīng)用自身的特點(diǎn)決定的。 眾所周知, Web協(xié)議(也 就是 HTTP)是一個(gè)無(wú)狀態(tài)的協(xié)議。一個(gè) Web應(yīng)用由很多個(gè) Web頁(yè)面組成,每個(gè)頁(yè)面都有唯一的 URL 來(lái)定義。用戶在瀏覽器的地址欄輸入頁(yè)面的 URL,瀏 覽器就會(huì)向 Web Server 去發(fā)送請(qǐng)求。如下圖,瀏覽器向 Web 服務(wù)器發(fā)送了兩個(gè)請(qǐng)求,申請(qǐng)了兩個(gè)頁(yè)面。這兩個(gè)頁(yè)面的請(qǐng)求是分別使用了兩個(gè)單獨(dú)的 HTTP 連接。所謂無(wú)狀態(tài)的協(xié)議也就是表現(xiàn)在這里,瀏覽器和 Web 服務(wù)器會(huì)在第一個(gè)請(qǐng)求完成以后關(guān)閉連接通道,在第二個(gè)請(qǐng)求的時(shí)候重新建立連接。 Web 服務(wù)器并不區(qū)分哪個(gè)請(qǐng)求來(lái)自哪個(gè)客戶端,對(duì)所有的請(qǐng)求都一視同仁,都是單獨(dú)的連接。這樣的方 式大大區(qū)別于傳統(tǒng)的( Client/Server) C/S 結(jié)構(gòu) ,在那樣的應(yīng)用中,客戶端和服務(wù)器端會(huì)建立一個(gè)長(zhǎng)時(shí)間的專用的連接通道。正是因?yàn)橛辛藷o(wú)狀態(tài)的特性,每個(gè)連接資源能夠很快被其他客戶端所重用,一臺(tái) Web 服務(wù)器才能夠同時(shí)服務(wù)于成千上萬(wàn)的客戶端。 但是我們通常的應(yīng)用是有狀態(tài)的。先不用提不同應(yīng)用之間的 SSO,在同一個(gè)應(yīng)用中也需要保存用戶的登錄身份信息。例如用戶在訪問(wèn)頁(yè)面 1 的時(shí)候進(jìn)行了登錄,但是剛才也提到,客戶端的每個(gè)請(qǐng)求都是單獨(dú)的連接,當(dāng)客戶再次訪問(wèn)頁(yè)面 2 的時(shí)候,如何才能告訴 Web 服務(wù)器,客戶剛才已經(jīng)登錄過(guò)了 呢?瀏覽器和服務(wù)器之間有約定:通過(guò)使用 cookie 技術(shù)來(lái)維護(hù)應(yīng)用的狀態(tài)。 Cookie 是可以被 Web服務(wù)器設(shè)置的字符串,并且可以保存在瀏覽器中。如下圖所示,當(dāng)瀏覽器訪問(wèn)了頁(yè)面 1時(shí), web 服務(wù)器設(shè)置了一個(gè) cookie,并將這個(gè) cookie 和頁(yè)面 1 一起返回給瀏覽器,瀏覽器接到 cookie 之后,就會(huì)保存起來(lái),在它訪問(wèn)頁(yè)面 2 的時(shí)候會(huì)把這個(gè) cookie 也帶上, Web 服務(wù)器接到請(qǐng)求時(shí)也能讀出 cookie 的值,根據(jù) cookie 值的內(nèi)容就可以判斷和恢復(fù)一些用戶的信息狀態(tài)。 WebSSO 完全可以利用 Cookie 結(jié)束來(lái)完成 用戶登錄信息的保存,將瀏覽器中的 Cookie和上文中的 Ticket 結(jié)合起來(lái),完成 SSO 的功能。 為了完成一個(gè)簡(jiǎn)單的 SSO 的功能,需要兩個(gè)部分的合作: 統(tǒng)一的身份認(rèn)證服務(wù)。 修改 Web 應(yīng)用,使得每個(gè)應(yīng)用都通過(guò)這個(gè)統(tǒng)一的認(rèn)證服務(wù)來(lái)進(jìn)行身份效驗(yàn)。 Web SSO 的樣例 根據(jù)上面的原理,我用 J2EE 的技術(shù)( JSP 和 Servlet)完成了一個(gè)具有 WebSSO 的簡(jiǎn)單樣例。樣例包含一個(gè)身份認(rèn)證的服務(wù)器和兩個(gè)簡(jiǎn)單的 Web 應(yīng)用,使得這兩個(gè) Web 應(yīng)用通過(guò)統(tǒng)一的身份認(rèn)證服務(wù)來(lái)完成 WebSSO的功能。此 樣例所有的源代碼和二進(jìn)制代碼都可以從網(wǎng)站地址 下載。 樣例下載、安裝部署和運(yùn)行指南: WebSSO 的 樣 例 是 由 三 個(gè)標(biāo) 準(zhǔn) Web 應(yīng) 用組 成 , 壓 縮 成 三個(gè) zip 文件,從 中 下 載 。 其 中 SSOAuth( ) 是 身 份 認(rèn) 證 服 務(wù) ;SSOWebDemo1 ( )和SSOWebDemo2( 個(gè)用來(lái)演示單點(diǎn)登錄的 Web 應(yīng)用。這三個(gè) Web 應(yīng)用之所以沒(méi)有打成 war 包,是因?yàn)樗鼈儾荒苤苯硬渴穑鶕?jù)讀者的部署環(huán)境需要作出小小的修改。樣例部署和運(yùn)行的環(huán)境有一定的要求,需要符合 以上標(biāo)準(zhǔn)的 J2EE 容器才能運(yùn)行(例如 Tomcat5,Sun Application Server 8, Jboss 4 等)。另外,身份認(rèn)證服務(wù)需要 。之所以要用 是因?yàn)楣P者使用了一個(gè)線程安全的高性能的 Java 集合類 “ConcurrentMap”,只有在 中才有。 這三個(gè) Web 應(yīng)用完全可以單獨(dú)部署,它們可以分別部署在不同的機(jī)器,不同的操作系統(tǒng)和 不同的 J2EE 的產(chǎn)品上,它們完全是標(biāo)準(zhǔn)的和平臺(tái)無(wú)關(guān)的應(yīng)用。但是有一個(gè)限制,那兩臺(tái)部署應(yīng)用( demo demo2)的機(jī)器的域名需要相同,這在后面的章節(jié)中會(huì)解釋到 cookie 和domain 的關(guān)系以及如何制作跨域的 WEBSSO 解壓縮 文件,在 /WEBINF/下的 中請(qǐng)修改 “domainname”的屬性以
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1