WindowsAD域擴展單點登錄技術研究與實現畢業設計說明書.doc_第1頁
WindowsAD域擴展單點登錄技術研究與實現畢業設計說明書.doc_第2頁
WindowsAD域擴展單點登錄技術研究與實現畢業設計說明書.doc_第3頁
WindowsAD域擴展單點登錄技術研究與實現畢業設計說明書.doc_第4頁
WindowsAD域擴展單點登錄技術研究與實現畢業設計說明書.doc_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

河北工業大學2015屆本科設計說明書河 北 工 業 大 學畢 業 設 計說 明 書作 者: 張建勝 學 號: 112422 學 院: 計算機科學與軟件學院 系(專業): 計算機科學與技術 題 目: 基于Windows AD域擴展單點登錄技術 研究與實現 指導者: 田紅麗 教授 (姓 名) (專業技術職務)評閱者: (姓 名) (專業技術職務) 2015年 6 月 4 日河北工業大學2015屆本科設計說明書畢業設計(論文)中文摘要基于Windows AD域擴展單點登錄技術研究與實現摘要: 隨著信息技術的迅猛發展,同時各種管理制度不斷完善,使得公司或者其他組織機構的應用系統的種類越來越多。每個應用系統都有自己的認證登錄頁面,用戶登錄系統時,都要對其身份進行認證,繁多的登錄系統占用了用戶的大量登錄時間,且用戶容易忘記或者記混這些系統的密碼,如果將系統的密碼設置成同一個又會存在安全隱患,所以解決這些系統的登錄問題就是非常必要的而且具有較好的市場需求。 基于Windows AD域擴展單點登錄技術的研究與實現就是實現了多個應用系統的單點登錄,即登錄一次就可以訪問所有整合過的資源。它是基于微軟的Windows AD域進行身份認證,使認證更加的安全可靠,在此基礎上實現單點登錄,單點登錄采用Yale大學研發的CAS系統為基礎,在此基礎上進行Windows AD域和CAS的整合,實現了單點登錄系統。關鍵詞: 單點登錄 Windows AD域 身份認證 CAS畢業設計(論文)外文摘要Title The Research and Implementation of Windows AD domain extension based login carte AbstractWith the rapid development of information technology, as well as various management systems continue to improve, making more and more types of companies or other organizations of the application system. Each application has its own authentication login page when a user login system, must authenticate their identity, many user login system takes up a lot of login time, and the user is easy to forget or remember passwords mix of these systems, if the password system will be set to the same security risks, so log on problem solving of these systems is a very necessary and has good market demand.Based on Windows AD domain extension and single sign-on technology is to achieve a number of applications to achieve single sign-on systems that log in once to access all integrated over resources. It is based on Microsofts Windows AD domain authentication, so authentication is more secure, reliable, single sign-on this basis, single sign-on using the CAS system developed by Yale University as the basis for Windows AD domain and on this basis CAS integration, to achieve single sign-on system. Keywords: Single sign-on Windows AD domain authentication CAS目 錄 1 引言11.1 論文的選題背景11.2 論文研究的意義11.3 論文的內容安排22 相關技術簡介及其研究意義32.1 身份認證32.2 Windows AD域身份認證32.3 單點登錄42.4 基于CAS單點登錄模型93 基于Windows AD域擴展單點登錄技術設計與分析123.1 CAS私有域登錄框架123.2 CAS私有域票據133.3 CASSSOServlet類143.4 Filter類153.5 CAS私有域票據服務接口163.6生成票據接口-requiredTicket173.7兌換票據接口-exchangeTicket183.8票據接口里其他功能184 主要單點登錄系統典型場景分析204.1 域終端訪問Portal204.2 非域終端訪問Portal224.3 域終端訪問資源234.4 非域終端訪問資源255 基于Windows AD域擴展單點登錄技術實施文檔275.1 環境需要275.2環境說明275.3環境搭建275.4文件部署285.5問題解析29結 論30參 考 文 獻31致 謝321 引言 Microsoft Active Directory 服務是Windows 平臺的核心組件,是企業基礎架構的根本,所有的高級服務都會向活動目錄整合,以利用其統一的身份驗證、安全管理以及資源公用。本畢設課題著重研究如何在Windows AD域身份驗證基礎上擴展支持第三方單點登錄協議,實現在AD域終端以及非域終端下基于AD域身份驗證后單點登錄到基于第三方單點登錄協議整合的業務系統。1.1 論文的選題背景 隨著計算機的迅猛發展,應用軟件和系統的種類越來越多,這些軟件的應用方便了人們的日常管理工作,使人們的工作越來越趨于科學化、簡單化、方便化。但是這些軟件系統都有相互獨立的,所以在方便人們管理和工作的同時也產生了繁瑣的登錄過程和繁多的密碼。如果每個登錄系統的密碼都采用相同的又會產生安全隱患,而繁多的密碼又不利于記憶而且出錯的概率會隨著系統的增加而增加。 理想狀況下,是所有的應用系統都采用統一的身份認證體系,但是市場上的應用系統都具有自己的認證體系,無法進行統一的身份認證。系統在方便人們的日常工作的同時也給用戶帶來了不可避免的麻煩,使得登錄系統成為用戶最為苦惱的一件事情。在此背景下,適用于企業的單點登錄系統是迫在眉睫的。1.2 論文研究的意義Microsoft Active Directory 利用統一的身份認證、安全管理機制,使認證更加的安全可靠,通過Yale大學研究的CAS系統實現單點登錄,單點登錄系統能夠實現各個系統身份的統一認證,將繁瑣的登錄過程簡化掉,只需要通過一次登錄就可以訪問所有的資源。減少了用戶的登錄時間,也不需要記錄繁瑣的密碼和賬號,同時也減輕了管理員的工作,不用頻繁的幫助用戶找回密碼,同時提高了軟件使用效率。1.3 論文的內容安排本論文一共分為六章。希望以下的簡單介紹可以幫助讀者說明本論文所完成的內容。第一章 引言部分,主要討論了基基于Windows AD域擴展單點登錄技術的研究與實現背景、研究意義以及論文的內容安排。第二章 相關技術簡介及其研究意義。第三章 基于Windows AD域擴展單點登錄技術設計與分析。第四章 主要單點登錄系統典型場景分析。第五章 總結。2 相關技術簡介及其研究意義2.1 身份認證身份認證是指在計算機系統中確認操作者身份的過程,從而確定操作者是否對該資源具有訪問操作的權限,進而使計算機網絡環境更加的安全可靠,更加可以防止該資源被別人冒充訪問,對該資源造成威脅。現在通常使用的身份認證有以下常見的幾種形式:口令認證、智能卡認證、動態口令認證、生物識別等方法。口令認證:是指用戶通過靜態的,自己提前設置好的口令進行登錄訪問。但是很多用戶設置時,密碼采用自己的生日,姓名字母等一些具有特色的組合作為自己的密碼,或者有的人防止自己忘記密碼,將密碼記錄在某些地方,這些都可能造成安全隱患。而且密碼密碼在傳輸的過程中也容易被別人截獲,存在一定的安全隱患。智能卡認證:是一種相對安全的認證模式,智能卡內部芯片是不可輕易復制的,它是由合法者攜帶的一種安全的硬件設施。它是基于“what you have”的認證模式,它對于口令認證來說是一種相對安全的認證模式。動態口令認證:是一種動態獲取登錄密碼方式的認證方法,比如比較常見的有短信認證,通過手機綁定,獲取動態驗證碼的方式來完成身份認證,進行登錄。還有通過專門的硬件設備,進行動態改變登錄密碼,常見的有六十秒改變一次登錄密碼來保護資源不被非法者訪問,這也是一種基于“what you have”的認證方式。生物識別:是指通過自身所特有的生物特征進行登錄訪問,現在比較常見的有:指紋登錄,視網膜登錄,語音登錄,臉型,虹膜等一系列生物特征進行登錄。因為視網膜等生物特征是比較獨特的,是不可仿造的,所以能夠安全的保護用戶的隱私,使其不被非法者所冒充。這是一種基于“what you are”的認證模式。2.2 Windows AD域身份認證Windows AD域是指(Active Directory)活動目錄,遵循ldap協議,動態的建立整個域模式網絡中的對象的數據庫或索引。AD域和工作組不同,它是具有嚴格的權限控制的,沒有登錄到域中的用戶是無法對其中資源進行訪問控制的。“域”的真正含義指的是服務器控制網絡上的計算機能否加入的計算機組合。一提到組合,勢必需要嚴格的控制。所以實行嚴格的管理對網絡安全是非常必要的。2.3 單點登錄單點登錄的英文名字為single sign on,單點登錄就是用戶只需要登錄一次,就可以訪問不同的系統或者資源,它是用戶的一個認證過程,單點登錄的實現簡化了人們日常工作的流程,使用戶在登錄每個操作系統時,不需要都輸入自己的用戶名和密碼,提高了人們的日常工作效率。SSO有一個形象的解釋:“單點登錄,全網漫游”。2.3.1單點登錄的背景就目前市場而言,單點登錄的產品也有很多種,大體分為兩大類:一種是商用的單點登錄產品,另一種是開源的單點登錄產品。商用的單點登錄產品大概又分為:專門的商業登錄軟件和門戶產品供應商自己的單點登錄產品。專門的商業登錄軟件包括:Netgrity的Siteminder,已經被CA收購,Novell 公司的iChain,RSA公司的ClearTrust等。門戶產品供應商自己的單點登錄產品包括:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。商用的單點登錄軟件一般都是針對那些對單點登錄要求比較高,比較大型的軟件公司,它不僅價格昂貴,還需要特定的環境,需要在軟件中增加代理模塊來完善單點登錄。 開源的單點登錄產品主要包括:OpenSSO,JOSSO,CAS等。OpenSSO基于Sun Java System Access Manager,是Sun公司支持的一個開源的SSO項目。OpenSSO體系結構設計合理,功能比較強大。然而缺點是客戶端支持不夠廣泛,似乎只是對基于J2EE的應用支持的比較好。JOSSO是另一個Java寫的單點登錄產品,通常認為比OpenSSO更成熟一些。JOSSO支持的客戶端包括Java,PHP和ASP。CAS是耶魯大學開發的單點登錄產品,也是我最后選定的單點登錄產品。CAS的優點很多,例如設計理念先進、體系結構合理、配置簡單、客戶端支持廣泛、技術成熟等等。 經過廣泛分析和比較,最后我們選定CAS作為我們的單點登錄產品。我們確信這是目前能夠找到的最好的開源單點登錄產品。2.3.2 單點登錄原理單點登錄(SSO)是使用身份驗證的方法,允許授權用戶可以訪問所有相關的內容,但獨立的軟件系統或應用程序不會被提示在重新登錄,增加用戶的工作效率,并允許用戶訪問多個服務或應用程序時只被認證一次。這并不意味著SSO系統統一的賬戶信息的所有服務,應用程序和系統,而它隱藏的賬戶信息等多重成一個單一帳戶的用戶需要登錄。一旦用戶登錄,SSO系統生成的各種公認的認證信息應用程序和系統。 SSO不僅可以在內聯網中使用,還可以在外聯網或因特網中使用。單點登錄系統主要包括:單點登錄服務器和單點登錄客戶端。服務器主要負責用戶的身份認證和實現單點登錄的功能。客戶端通常和應用系統部署在一起,負責將用戶的請求信息發送給單點登錄服務器進行身份認證。單點登錄的訪問流程一般包括以下步驟:1、 單點登錄系統客戶端發送請求,請求訪問應用系統所提供的資源和服務。2、 單點登錄客戶端將請求重定向回服務器。3、 服務器對請求用戶進行身份認證4、 認證通過后,給請求用戶隨機產生一個Service Ticket,作為身份憑證。5、 單點登錄服務器驗證Service Ticket的合法性,如果合法,允許用戶訪問資源。6、 當認證用戶合法后傳輸結果給客戶端,客戶端儲存信息。7、 注銷用戶登錄當用戶未注銷登錄時,合法用戶訪問其他資源時候,不需要對該用戶再次進行身份驗證,即實現了單點登錄。如圖2-1:圖2.1 復雜的SSO使用單組憑證可以通過兩種方式來完成,即基于憑證和基于公鑰如下:(1)基于憑證的SSO系統: 在這種SSO系統,用戶提交的憑據到基于憑證的認證權威機構,在該認證中心檢查其憑據數據庫。如果用戶憑據相匹配,則給用戶返回一個憑證。當用戶想要訪問其支配的應用服務器時,同理攜帶之前的票據訪問應用程序服務器。這個過程的成功依賴于服務系統都信任該認證機構。(2)在HTTP環境下的基于憑證的SSO系統 基于憑證的SSO可通過在HTTP的環境中使用的cookie來實現。一個cookie是一組由網絡服務器提供給網絡瀏覽器的信息,并存儲在客戶機上。用于身份驗證的cookie可以被加密,使之更加安全可靠。該服務器可以再檢測cookie,并給客戶提供個性化的服務。 在網絡環境中Kerberos系統提供基礎建設固定的SSO,然而,它需要客戶端的基礎設施和配置。在支持HTTP的環境,cookies可被用于構建SSO系統但并不需要多余的安裝或必要的配置。 Kerberos系統和Cookies功能SSO的最大系統區別是,前者使用遠程過程調用以傳輸認證的票據,而后者則使用cookies標記。(3) 基于PKI的單點登錄系統 在基于PKI的SSO,服務器/資源和用戶驗證對方時,使用其各自的密鑰對。用戶可以通過服務器解密任何驗證服務器消息,他們發送的信息是由服務器的公鑰加密。同樣的方式,服務器可以通過他認證過的用戶向它們發送消息,該消息是由所述加密解密用戶的公共密鑰進行加密的。作為私鑰的真正擁有者只能解密,相互認證如服務器驗證用戶身份。用戶和服務器的認證機構可以是不同的,如果他們是不同的,該認證機構之間必須是相互信任的。2.3.3單點登錄協議在本節中,我們將討論的簡單和復雜的SSO架構使用不同的協議。 Kerberos身份驗證協議 Kerberos是一個經典的實現基于令牌的分布式認證協議。該整個過程分為三個過程和四個實體。四個實體是:1)客戶端 - 想要訪問的資源2)認證服務器(AS) - 可以驗證客戶端和資源3)票據授權服務器(TGS) - 生成票據訪問資源; 4)應用服務器(S) - 訪問請求的資源。三個過程是:1)認證請求和響應:在客戶端提交認證請求,并將請求提交給認證服務器進行認證響應 2)票證授予的請求和響應通信:用戶進行身份認證后,提交給票據授權服務器,產生用戶所對應的票據,并將其返回給應用程序3)應用程序的請求和響應:在客戶端使用它從票據授權服務器(TGS)得到票據與應用服務器(S)溝通,在需要的憑據時,第2次和第3次的過程是不斷重復后,客戶端有權訪問其他資源。安全斷言標記語言 安全斷言標記語言(SAML)是一種基于XML的開放式標準,交換安全域,即身份提供者和服務之間的認證和授權的數據供應商使用SAML,在線服務提供商的聯系人的在線身份提供哪些驗證誰試圖訪問安全內容的用戶。 SAML沒有規定如何驗證用戶;而它定義了一種方法,一旦用戶是交換認證和授權數據驗證。 SAML是不是一系列基于XML的消息的所謂的斷言,詳細說明而已用戶是否被認證(認證斷言),有什么樣的權利,角色和訪問基于(屬性斷言),他們已經和他們如何使用的數據和資源(授權斷言)對這些權利和角色。它使用HTTP,SMTP,FTP和SOAP,以及其他協議和技術傳輸這些斷言。 OpenID登錄OpenID是一個分散的身份驗證協議。的OpenID包括三個主要實體:1)在OpenID的標識符:文本或電子郵件地址唯一標識用戶的字符串; 2)OpenID依賴方(RP):Web應用程序或服務提供商想要證明最終用戶擁有該標識;3)OpenID提供者(OP):一個中央服務器的問題,商店和管理用戶的OpenID的標識符。依托雙方依靠此提供一個論斷,即最終用戶擁有該標識。主要有四種方法的OpenID協議中使用:1.Discovery,2.Authentication,3.Association,4驗證。發現:最終用戶憑用戶提供的標識符到依賴方發起認證通過他們的瀏覽器。 RP就可以執行發現(發現),并建立了OP端點URL其中所使用的用戶進行身份驗證。認證:RP最終用戶的瀏覽器重定向到一個OpenID認證請求OP。 OP建立了端用戶是否被授權。 OP重定向最終用戶的瀏覽器返回到向RP要么是斷言,認證認可,或一條消息,驗證失敗。關聯關系:使用Diffie-Hellman密鑰的RP和OP建立共享秘密的關聯建立交換。 OP使用該協會簽署后續的消息和RP驗證這些消息;此不再需要后續的直接要求每個認證后,驗證簽名請求/響應。驗證:RP驗證從OP包括檢查返回URL接收到的信息,驗證發現的信息,檢查隨機數,并通過使用所述共享密鑰驗證所述簽名在協會或通過發送一個直接請求OP建立。2.3.4單點登錄的優點在當前的數字世界中,用戶可能需要訪問多個系統來開展他們的一天活動。系統的數量在不斷地增加,每個用戶需要記憶的憑證數量也隨之增加并由此帶來的可能失去或忘記他們的密碼事件也增加了。單點登錄,可以用來解決涉及用于不同應用程序的多個憑證的許多問題。單點登錄訪問主要認證中心可以讓用戶訪問所有可用的其他資源。 SSO幫助用戶解決記住多個密碼的煩惱,也提高了用戶和開發人員的生產力,減少用戶花費在輸入各種密碼的登錄時間。 從不同的角度和角色進行分析單點登錄的優點:用戶角度:提高了用戶的工作效率,告別了繁瑣的登錄過程,減少了登錄時間,更加避免了大量密碼需要記住的煩惱,減少了因為密碼相同或者在筆記本中記錄密碼而發生泄漏的危險。管理員角度:簡化了管理員日常的管理工作,管理員不需要頻繁的幫助用戶找回密碼,并且有利于管理員進行管理,在有人員變動時,不需要一個個應用系統的操作,能夠實現快速的整合添加應用系統,委派訪問權限時候也減少了管理員的工作量。2.4 基于CAS單點登錄模型2.4.1 CAS背景及特點 CAS(Central Authentication Service)是Yale發起的一個項目,它為了實現一種企業級的WEB單點登錄項目。這個項目是開源的,提供多種協議解決方案,支持多種認證機構,比如Active Directory、LDAP、JDBC、JAAS等 。它的安全策略采用票據的方式,支持授權,可以決定哪些服務可以請求驗證票據服務,它提高了單點登錄的可用性,同時支持多種客戶端,如Java、PHP、Apache、Perl、.Net等。2.4.2 CAS結構體系 CAS包括兩部分組成:一部分是CAS Client,它和應用系統客戶端部署在一起,用戶登錄時,將用戶重定向到服務器,并將用戶名和密碼傳遞給服務器進行驗證。另一部分是CAS Server,它負責將客戶端傳遞過來的參數進行認證,認證成功后返回票據給客戶端,并完成票據的兌換等工作。2.4.3 CAS原理基本原理 當用戶第一次通過web瀏覽器訪問資源時候,CAS客戶端和應用系統客戶端部署在一起,會直接跳轉至CAS Client端,進行對用戶身份的驗證,用戶在CAS Client端需要提交用戶名和密碼,客戶端重定向回CAS Server,將用戶的用戶名和密碼提交給CAS Server,同時將用戶需要訪問的資源地址發送給CAS Server,CAS 進行驗證用戶身份,如果用戶是合法身份,將會給用戶產生一個Ticket,作為用戶的身份標識,CAS Server并將生成的Ticket和Service返回給CAS客戶端,客戶端進行票據的驗證,CAS Server通過票據獲取到用戶的用戶名,用戶名合法后,允許用戶訪問應用系統或者資源,CAS認證結束。CAS的基本原理圖2.2如下: 圖2.2 2.4.4 CAS 實現單點登錄原理 當用戶第一次通過瀏覽器訪問資源的時候,會獲取客戶端的Session,如果客戶端存在Session,證明會話沒有注銷直接訪問到資源,但是我們是首次登錄,所以在客戶端中檢測不到session,則重新定向會瀏覽器,然后獲取瀏覽器中的cookie,將cookie中的TGT發送給CAS服務端進行請求認證,如果已經登錄則返回ST給客戶端,然后客戶端用這個ST兌換用戶名登錄資源,但是由于是首次登錄,所以無TGT或TGT錯誤,返回登錄頁面,輸入用戶名密碼后,重定向回CAS服務端進行身份認證,認證成功后,返回ST并重定向回瀏覽器,瀏覽器重定向回CAS客戶端,請求認證ST,確認ST已經登錄后,在CAS客戶端創建Session,登陸成功后重定向回請求地址,訪問資源,如果不注銷登錄,當下次訪問資源時候,先去CAS客戶端獲取Session,獲取到直接登錄,不用再次輸入用戶名密碼,如果為獲取到,去瀏覽器中cookie中獲取票據,獲取到后直接兌換用戶名登錄。 圖2.33 基于Windows AD域擴展單點登錄技術設計與分析 上面我們主要介紹了CAS原理和單點登錄機制以及Windows AD域的登錄原理。這次我們將CAS單點登錄系統和Windows AD域身份認證整合,即身份認證部分交給Windows AD域進行認證,而單點登錄則由CAS實現,采取這種設計方案的原因,現在很多公司都在使用Windows AD域進行人員管理,而CAS是支持和Windows AD域整合的,而且Windows AD域認證方式更加的安全可靠,基于以上幾點我們采用基于Windows AD域擴展單點登錄技術的實現。3.1 CAS私有域登錄框架 我們將AD域和CAS相結合的方式實現單點登錄,而實現的媒介是Portal,它起到鏈接認證和AD域整合的作用,AD域進行身份認證,當用戶訪問資源或者Portal時候,如果沒有進行身份認證,即非域終端訪問時候,會自動彈出AD域認證框進行身份認證,而如果客戶端進行身份認證后,即域終端訪問資源或者Portal時候,無需再進行身份認證,此處實現的是AD域單點登錄。身份認證后將單點登錄交給我們模擬CAS認證的服務中心DTSSO進行單點登錄,單點登錄主要涉及到申請票據和兌換票據的過程,即用戶身份認證后,訪問資源的時候會去DTSSO申請票據,DTSSO將票據頒發給受信任的用戶,然后用戶攜帶票據去訪問資源時候,需要找DTSSO進行票據兌換,去進行用戶名驗證,如果驗證成功則允許用戶訪問資源。圖3.1DTSSO票據服務:1.申請票據 2.兌換票據DTSSOServlet:調用申請票據的webservice接口,申請票據Filter:調用兌換票據的webservice接口,兌換票據3.2 CAS私有域票據 CAS私有域票據是CAS單點登錄實現的重要組成部分,票據的基本信息包括:ID,userADnameID,expireTime,exchangeTimes,ticketGenerateTime等。ID作為票據的唯一標識為了區分票據的身份,userADnameID是AD域賬號的唯一標識,用來作為身份驗證的信息,而票據的產生是具有有效期限的,一般設置為30秒,因為我們設置了票據的有效時間所以我們為了能夠計算票據的有效時間,我們必須用一個關鍵詞作為票據的產生時間,即ticketGenerateTime,而票據產生后,驗證身份時候需要兌換票據,即exchangeTimes,一般設置兌換的次數為一次。這些關鍵詞組成了票據。票據基本信息(TicketValue)表3-1:NameValueinstructionbytetypeIDDTSSOID票據唯一標識7StringuserADnameIDUSERADNAMEIDAD賬號唯一標識12StringexpireTime30s票據時效3StringexchangeTimes1票據兌換次數1StringticketGenerateTime2014-12-18 22:11:11票據產生時間18String表3-1備注:考慮到性能問題,不建議采用簽名技術以及票據目的地驗證。3.3 CASSSOServlet類3.3.1有語言就有信息,尤其是中文,暗含的意思更是多重多變。網絡的快速發展,尤功能申請票據:用戶從客戶端將用戶名和訪問資源的url傳遞給服務器,服務器對該用戶進行身份認證,如果沒有通過認證,即用戶名不存在,則重新跳轉至認證頁面進行身份認證,若身份認證通過,則采用soap協議調用DTSSO票據服務的webservice接口申請票據,然后將生成的票據返回給瀏覽器,作為登錄資源的憑證。3.3.2 位置3.3.3 如何申請票據1. 從請求里獲得portal對應的ASP頁面里的域賬號。2. 從請求里獲得portal對應的ASP頁面里的資源URL。3. 采用soap協議調用DTSSO票據服務的webservice接口申請票據。4. 返回票據給IE洌覽器重定向至業務1、2、3。3.3.4 票據申請流程示意圖圖3.23.4 Filter類3.4.1功能兌換票據:從IE瀏覽器中獲取到之前生成的票據,如果未獲取到票據,則重新跳轉回用戶登錄界面進行重新登錄,如果獲取到票據,則采用soap協議調用DTSSO票據服務的webservice接口兌換票據,返回用戶名,兌換完用戶名后重新跳轉回需要訪問的資源。3.4.2 位置3.4.3如何兌換票據1. 從請求里獲得IE瀏覽器返回的ticket。2. 采用soap協議調用DTSSO票據服務的webservice接口兌換票據,返回用戶名3. Filter流程結束返回資源。3.4.4 票據兌換流程示意圖圖 Filter其他功能緩存域賬號說明:將兌換完成返回資源的域賬號緩存在cookie里。1. cookiename:userADname2. cookievalue:DTAdministrator3. path:/ 可以跨域訪問4. Domain:DT.COM5. EXPIRES:到期時間6. 設置cookie失效時間:為60s.3.5 CAS私有域票據服務接口技術框架示意圖: 圖3.43.6生成票據接口-requiredTicket本接口是提供業務資源向門戶系統請求票據時,生成票據的接口。3.6.1 參數說明userADname=域用戶名DTAdministrator3.6.2 返回結果CHSJAJYEEDSSASSDKJFLD=3.7兌換票據接口-exchangeTicket本接口是提供業務資源向門戶系統兌換票據時,返回用戶名的接口。3.7.1 參數說明ticket=票據類(Base64編碼)CHSJAJYEEDSSASSDKJFLD=3.7.2 返回結果Y2hlbmppZQ=3.8票據接口里其他功能3.8.1 緩存票據說明:1.票據唯一標識和TicketValue類緩存map一一映射。 2.域賬號唯一標識和userADname緩存map一一映射。 3.TicketValue類和域賬號唯一標識 : 類和屬性關系。nameValuecontainerDTSSOIDTicketValuemapUSERADNAMEIDuserADnamemap表3-23.8.2 清除票據1. 兌換票據完成后,無論兌換是否成功,都要清除票據2. 票據失效后,校驗票據時效,超過時效時間,清除票據。(這里設置票據時效為30s)4 主要單點登錄系統典型場景分析4.1 域終端訪問Portal4.1.1 場景示意圖圖4.1當用戶第一次通過瀏覽器訪問Portal的時候,瀏覽器會發出請求向私有域獲取票據,因為此用戶為域終端用戶,所以不需要進行身份認證,直接為該用戶生成票據,票據生成后,用戶攜帶票據去私有域進行用戶名兌換,兌換用戶名成功后可以訪問資源,并自動生成一個與之對應的cookie,下次訪問時候,如果cookie未失效不需要進行身份驗證,直接訪問資源。4.1.2 場景說明1. ADAuth:1)通過域控服務器上對應的用戶名和口令登錄 2)通過針對域控頒發的域控證書和普通AD域用戶登陸證書登錄2. ADSSO:域單點登錄至Portal, 基于Kerberos實現IIS容器的整合3. DTSSO:Portal單點登錄至Tomcat業務:基于私有票據協議整合4.2 非域終端訪問Portal4.2.1場景示意圖圖4.2當用戶第一次通過瀏覽器訪問Portal的時候,瀏覽器會獲取緩存的cookie,如果未獲取到用戶名,繼續去查看票據,如果存在票據則用票據去兌換用戶名,如果不存在票據,將身份信息和需要訪問的資源地址發送給私有域身份認證系統進行身份認證,認證通過后,生成票據,將票據返回給瀏覽器,用戶攜帶票據去私有域進行用戶名兌換,兌換用戶名成功后可以訪問資源,并自動生成一個與之對應的cookie,下次訪問時候,如果cookie未失效不需要進行身份驗證。4.2.2 場景說明步驟:1. Local Auth:通過工作組PC對應的用戶名和口令登錄2. ADAuth : AD身份認證至Portal: 基于IE瀏覽器Intranet 集成Windows身份驗證,校驗域控服務器上的AD用戶名和口令 登錄3. DTSSO : Portal單點登錄至Tomcat業務:基于私有票據協議整合4.3 域終端訪問資源4.3.1 場景示意圖當用戶第一次通過瀏覽器訪問資源的時候,瀏覽器會重定向回Portal,Portal發出請求向私有域獲取票據,因為此用戶為域終端用戶,所以不需要進行身份認證,直接為該用戶生成票據,票據生成后,用戶攜帶票據去私有域進行用戶名兌換,兌換用戶名成功后可以訪問資源,并自動生成一個與之對應的cookie,下次訪問時候,如果cookie未失效不需要進行身份驗證,直接訪問資源。當用戶第一次通過瀏覽器訪問資源的時候,瀏覽器會重定向回Portal,Portal發出請求向私有域獲取票據,因為此用戶為域終端用戶,所以不需要進行身份認證,直接為該用戶生成票據,票據生成后,用戶攜帶票據去私有域進行用戶名兌換,兌換用戶名成功后可以訪問資源,并自動生成一個與之對應的cookie,下次訪問時候,如果cookie未失效不需要進行身份驗證,直接訪問資源。圖 場景說明步驟: 1. Local Auth:通過工作組PC對應的用戶名和口令登錄2. ADAuth : 訪問業務重定向至Portal:域認證至Portal: 基于IE瀏覽器Intranet 集成Windows身份驗證,校驗域控服務器上的AD用戶名和口令 登錄3. DTSSO : Portal單點登錄至Tomcat業務:基于私有票據協議整合4.4 非域終端訪問資源4.4.1 場景示意圖當用戶第一次通過瀏覽器訪問資源的時候,瀏覽器會獲取緩存的cookie,如果未獲取到用戶名,繼續去查看票據,如果存在票據則用票據去兌換用戶名,如果不存在票據,瀏覽器會將其重新定向回Portal,將身份信息和需要訪問的資源地址發送給私有域身份認證系統進行身份認證,認證通過后,生成票據,將票據返回給瀏覽器,用戶攜帶票據去私有域進行用戶名兌換,兌換用戶名成功后可以訪問資源,并自動生成一個與之對應的cookie,下次訪問時候,如果cookie未失效不需要進行身份驗證。4.4.2 場景說明步驟:1. 登錄域終端:1)通過域控服務器上對應的用戶名和口令登錄2)通過針對域控頒發的域控證書和普通AD域用戶登陸證書登錄2. ADSSO : 訪問業務底層重定向至Portal:基于Kerberos實現IIS容器的整合3. DTSSO : Portal單點登錄至Tomcat業務:基于私有票據協議整合5 基于Windows AD域擴展單點登錄技術實施5.1 環境需要1. 一臺域控服務器(windows 2003)2. 一臺域成員服務器(windows 2003)3. 一臺工作組電腦(windows 2003)5.2環境說明1. 域控服務器:1)需要給域成員服務器分配一個域用戶 2)需要給工作組服務器分配一個域2. 域成員服務器:需要搭建IIS服務器、JDK環境、Tomcat服務IIS服務portal:index.asp和login.aspTomcat服務:DTSSO和DTSSOTicketService服務3. 工作組服務器:需要搭建JDK環境、Tomcat服務Tomcat服務:TomcatDemo1和TomcatDemo25.3環境搭建1. 搭建域控服務器和域成員服務器:參照文檔:備注:域控服務器:域成員服務器:2. 域成員服務器上:搭建IIS服務器:參照文檔:備注:這里portal為虛擬目錄,指向地址為:C:/portal 設置端口號:803. 域成員服務器上:搭建JDK環境和安裝Tomcat3.1從官網下載JDK和Tomcat 如下:備注:jdk版本:2版本以上Tomcat版本:官方標準版本:6.0以上3.2安裝JDK.和Tomcat1.1 雙擊jdk,一直選擇默認安裝,直到完成為止參照文檔:1.2 配置JAVA環境變量:參照文檔:1.3 安裝Tomcat(綠色版)解壓Tomcat壓縮包,直接放入C:/下就可以。修改Tomcat下conf文件下server.xml的端口為80804. 工作組服務器:搭建JDK環境和安裝Tomcat4.1從官網下載JDK和Tomcat 如下:備注:jdk版本:2版本以上Tomcat版本:官方標準版本:6.0以上4.2安裝JDK.和Tomcat1.1 雙擊jdk,一直選擇默認安裝,直到完成為止參照文檔:1.2 配置JAVA環境變量:參照文檔:1.3 安裝Tomcat(綠色版)解壓Tomcat壓縮包,直接放入C:/下就可以。修改Tomcat下conf文件下server.xml的端口為80815. 域控服務器給工作組服務器分配域參照文檔:備注:三臺服務器必須相互能ping通。5.4文件部署1. Portal.ASP.net.zip文件解壓后,取出index.asp和login.asp文件放入:域成員服務器的IIS服務器對應的C:/portal文件下。2. 在域成員服務器上打開tomcat文件夾,打開webapps文件夾將DTSSOServer.war包和DTSSOTicketService.war包放入。3. 在工作組電腦上打開tomcat文件夾,打開webapps文件夾將TomcatDemo1.war包和TomcatDemo2.war包放入4. 啟動IIS服務和tomcat服務器。5.5問題解析1. 三臺機器相互ping不通,采用NAT解析改成Bridage解析網絡2. Tomcat啟動不起來,將批處理startup.bat文件打開修改java_home變量路徑正確就可以正常啟動起來。3. IIS服務啟動不顯示頁面:搭建虛擬目錄,右擊屬性,選擇集成windows身份驗證,同時禁用匿名登錄。4. 訪問tomcat業務顯示路徑不正確:端口配置一定要正確。IIS :80 DTSSOServer和DTSSOTicketService:8080 TomcatDemo1和TomcatDemo2:80815. 訪問中報錯: 由于域控為 域成員服務器為(80和8080兩個端口)工作組服務器為(8081端口)如果這三個域名已經改變,那么文件里也要相應的修改。第一:index.asp和login.asp文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論