亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一個簡易單點登錄系統(tǒng)的構建與實現(xiàn)

        2013-10-10 07:32:04黃偉亮
        關鍵詞:單點開源客戶端

        劉 輝,黃偉亮

        (河南機電職業(yè)學院 信息工程系,鄭州 451191)

        0 引言

        單點登錄是目前比較流行的對多種系統(tǒng)業(yè)務進行集成與整合的解決方案之一。所謂單點登錄(Single Sign On,簡寫為SSO),即用戶只需在登錄時提供一次用戶認證信息,通過認證以后,無需再重復登錄便可訪問其他各子系統(tǒng)應用。IBM對SSO有一個形象的解釋,即“單點登錄、全網(wǎng)漫游”[1]。對現(xiàn)有的單點登錄實現(xiàn)案例及文獻[2-4]綜合分析顯示,對已有系統(tǒng)進行單點登錄改造、整合,或基于SSO重新規(guī)劃設計所有的網(wǎng)絡應用,既耗時又耗力,需要付出巨大的代價。雖然市場上已出現(xiàn)了多種專門的SSO商業(yè)軟件,但價格以及對已有的網(wǎng)絡應用支持是否完善等問題,往往使用戶望而卻步。本文嘗試以開源軟件為基礎,構建一個簡易的單點登錄系統(tǒng),來解決局域網(wǎng)中多個應用系統(tǒng)的用戶統(tǒng)一身份認證和集中管理問題。

        1 應用技術分析

        目前,實現(xiàn)單點登錄的開源軟件主要有OpenSSO、JOSSO、CAS等幾種。其中OpenSSO是由Sun公司支持的一個開源的SSO項目,但自從Sun被甲骨文(Oracle)收購,該項目已被關閉并凍結下一步開發(fā)[5];JOSSO(Java Open Single Sign-On)也是一個開源的J2EE-based的SSO(單點登錄)基礎結構,它具有跨平臺性,允許整合Java和非Java應用程序[6];CAS(Central Authentication Server)是Yale(耶魯)大學發(fā)起的一個開源項目,旨在為Web應用系統(tǒng)提供一種可靠的單點登錄方案,它提供了一個企業(yè)級單點登錄解決方案,通過獨立部署CAS Server及在客戶端比如 Java、.Net、PHP、Perl、Apache、uPortal、Ruby 等 Web 應 用 中 加入 CAS Client的方式實現(xiàn)統(tǒng)一認證[7]。CAS實現(xiàn)單點登錄的機制見圖1。

        圖1 CAS實現(xiàn)單點登錄的機制

        當用戶通過客戶端的Web瀏覽器訪問受保護資源時,嵌入客戶端的CAS Client將截取并分析該http請求中是否包含合法的Service Ticket,如果有,則說明當前用戶已經(jīng)登錄,允許訪問資源;否則,將該http請求重定向到CAS Server登錄地址,強制對用戶進行認證。在這個過程中,CAS Server主要負責對用戶的認證工作。由于CAS具有設計理念先進、體系結構合理、配置簡單、客戶端支持廣泛、技術成熟等優(yōu)點,本文選用該軟件構建單點登錄系統(tǒng)。

        CAS協(xié)議僅僅為基于Web的應用提供了用戶信息的認證服務,在實際應用中,CAS Server的認證接口會處理登錄用戶的憑證(Credentidals)信息,最常見的是用戶名/密碼,CAS Server可能需要到數(shù)據(jù)庫檢索一條用戶帳號信息,也可能在XML文件中檢索用戶名/密碼,還可能通過 LDAP Server獲取等。出于簡單、易于再開發(fā)考慮,本文選用的是開源數(shù)據(jù)庫Mysql來集中保存用戶信息,并對用戶信息進行統(tǒng)一管理。

        2 系統(tǒng)結構與流程

        根據(jù)上述分析,該系統(tǒng)主要由三部分組成:統(tǒng)一用戶管理、CAS統(tǒng)一認證服務、各種Web應用(根據(jù)需要可集成多個系統(tǒng))。系統(tǒng)總體結構如圖2所示。

        圖2 系統(tǒng)總體結構

        統(tǒng)一用戶管理作為該系統(tǒng)獨立的一個應用模塊,主要負責用戶的添加、刪除、更新等管理。

        統(tǒng)一認證即當用戶第一次訪問不同的Web應用資源時,將被重定向到CAS統(tǒng)一認證服務器,根據(jù)數(shù)據(jù)庫中用戶與角色的信息憑證,對其進行檢驗,如果認證通過,則轉向相應的Web應用資源。

        3 系統(tǒng)實現(xiàn)

        根據(jù)上述分析,本文將基于J2EE構建該單點登錄系統(tǒng),采用Tomcat作為Web服務器,結合CAS Server配置統(tǒng)一認證服務,使用數(shù)據(jù)庫Mysql來存儲用戶與角色信息,并進行相應的應用程序開發(fā),以實現(xiàn)用戶添加、刪除、更新等管理,至于其他的客戶端Web應用,可根據(jù)需要自行選擇不同的系統(tǒng)結合CAS Client進行配置。

        3.1 前期工作

        首先,根據(jù)服務器配置,正確安裝JRE、Tomcat與 Mysql,本 文 使 用 的 是 JRE1.6.0_10+Tomcat 6.0.36+Mysql5.6,然后輸入部分用戶信息到數(shù)據(jù)庫中,以用于測試。

        另外,CAS需要SSL(安全套接層協(xié)議)才能正常工作。SSL提供了一種在應用服務器(如Web、Telenet、FTP等)和客戶端之間提供數(shù)據(jù)安全性分層的機制,它為TCP/IP連接提供數(shù)據(jù)加密、服務器認證、消息完整性以及可選的客戶機認證。通過在Web服務器端配置專業(yè)的CA機構頒發(fā)的證書,實現(xiàn)SSL通信。作為一個局部的應用系統(tǒng),本文采用J2SE自帶的keytool工具,自己生成一個證書。

        第一步:生成服務器證書。參考命令格式如下:

        keytool-genkey-alias tomcat-keyalg RSA-keysize 1024-keypass changeit-validity 365-storepass changeit-keystore d:ssoserver.keystore

        第二步:將證書導入到JDK的證書信任庫中。

        導入過程包括兩個操作,首先是導出證書,然后將其導入到證書信任庫,參考命令格式如下:

        keytool-export-trustcacerts-alias tomcat-keystore d:ssoserver.keystore-file d:ssoserver.crtstorepass changeit

        keytool-import-trustcacerts-alias tomcat-file d:ssoserver.crt-keystore %JAVA_HOME%/jre/lib/security/cacerts-storepass changeit

        第三步:將證書應用到Web服務器Tomcat,配置其SSL服務,需要修改server.xml中Connector標簽為如下內(nèi)容:

        maxThreads="150"minSpareThreads="25"maxSpareThreads="75"

        enableLookups="false" disableUploadTimeout="true"

        acceptCount="100"scheme="https"secure="true"

        clientAuth="false"sslProtocol="TLS"keystoreFile="d:ssoserver.keystore" eystorePass="changeit"/>

        3.2 CAS Server應用配置

        統(tǒng)一認證服務的配置相對簡單,只需將CAS的相應文件包放到Tomcat服務器的Web應用文件夾即可。

        訪 問 http://www.ja-sig.org/products/cas/downloads/index.html,下載 CAS 的最新版本。筆者使用的版本是 cas-server-3.4.12。從 CAS 壓縮包中找到cas-server-webapp-3.4.12.war文件(在 modules文件夾下),將其復制到Tomcat服務器的webapps目錄下,重命名為cas;重新啟動Tomcat后,在瀏覽器地址欄中輸入:https://localhost:8443/cas。如果能打開登錄頁面,則表示CAS應用可以正常啟動。之后,根據(jù)應用需要,可對用戶登錄界面進行簡單修改,其界面的相應設計文件保存在目錄cas/webapp/WEB-INF/view/jsp/default/u及/cas/webapp/css中。

        3.3 M ysql數(shù)據(jù)庫的鏈接與配置

        在Mysql數(shù)據(jù)庫中建立一個用戶(User)表,用于存放用戶的登錄信息。表結構如表1所示,包括用戶編號、登錄名稱、登錄密碼、用戶名稱、用戶描述等。

        表1 用戶(User)表結構

        然后,通過以下步驟配置CAS,應用Mysql數(shù)據(jù)庫進行用戶的身份驗證。

        第一步:復制以下兩個文件到CAS/WEB_INF/lib目錄下。

        cas-server-support-jdbc-3.1.12.jar;mysql-connector-java-5.0.8-bin.jar

        第二步:配置CAS/WEB-INF/目錄下的deployerConfigContext.xml文件,在該文件中有兩處需要修改。

        (1)增加數(shù)據(jù)源

        (2)改變認證方式

        修改為:

        3.4 CAS Client客戶端配置

        對各種Web應用進行統(tǒng)一認證,是通過將CAS Client加入到客戶端模塊實現(xiàn)的。下面以基于java的Web應用進行說明。

        首先,從 http://www.ja-sig.org/downloads/casclients/CAS Client下載CAS Client的最新版本,比如本文使用的是 cas-client-3.2.1,將壓縮包中modules目錄下的 cas-client-core-3.2.1.jar文件復制到所發(fā)布Web應用的WEB-INF/lib下。然后,在客戶端Web應用中修改WEB-INF/web.xml文件,在其中添加應用過濾器,示例如下:

        在多種Web應用客戶端進行上述類似配置后,當用戶通過瀏覽器第一次訪問CAS保護的Web應用時,該http請求就將會被重定向到CAS統(tǒng)一認證服務器(即 https://localhost:8443/cas),要求輸入用戶名與密碼進行認證,從而實現(xiàn)了簡單的單點登錄與認證。

        4 小結

        本文基于開源軟件所實現(xiàn)的簡易單點登錄系統(tǒng),完成了用戶的集中管理與統(tǒng)一的身份認證,使得用戶輸入一次用戶名和密碼便可訪問多個Web應用,從而提高了用戶使用系統(tǒng)的效率,改善了用戶體驗。但是,單點登錄(SSO)的部署本身就是一把雙刃劍,如果配置不合理反而會使系統(tǒng)的安全性降低。本文所提出的這個系統(tǒng),在實際應用中還有待于進一步改進,以提高系統(tǒng)的整體安全性。

        [1]肖菁.WebSphere環(huán)境下的SSO實現(xiàn)之——SSO實現(xiàn)技術準備[EB/OL].(2003-08-01)[2013-05-26].http://www.i-bm.com/developerworks/cn/websphere/library/techarticles/xiaojing/SSOprepare/SSOprepare.htm l.

        [2]李凡,王流一.一種基于票據(jù)的單點登錄協(xié)議設計與實現(xiàn)[J].計算機工程與科學,2012(2).

        [3]鄭偉,王加陽.異構應用的單點登錄方法[J].軟件導刊,2010(7).

        [4]金永勤.在應用整合中單點登錄解決方案的研究[J].計算機與現(xiàn)代化,2007(7).

        [5]開源中國社區(qū).opensso-單點登錄框架[EB/OL].(2008-09-24)[2013-05-26].http://www.oschina.net/p/opensso.

        [6]開源中國社區(qū).JOSSO-單點登錄框架 -開源中國OSChina.NET[EB/OL].(2008-09-24)[2013-05-26].http://www.oschina.net/p/josso/simila-r_projects.

        [7]張濤,王秉坤.使用CAS在Tomcat中實現(xiàn)單點登錄[EB/OL].(2008-04-10)[2013-05-26].http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/.

        猜你喜歡
        單點開源客戶端
        歷元間載波相位差分的GPS/BDS精密單點測速算法
        超薄異型坯連鑄機非平衡單點澆鑄實踐與分析
        山東冶金(2019年5期)2019-11-16 09:09:10
        五毛錢能買多少頭牛
        縣級臺在突發(fā)事件報道中如何應用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        數(shù)字電視地面?zhèn)鬏斢脝晤l網(wǎng)與單點發(fā)射的效果比較
        大家說:開源、人工智能及創(chuàng)新
        開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
        16噸單點懸掛平衡軸的優(yōu)化設計
        又爽又黄又无遮挡的视频| 成人亚洲av网站在线看| 久久精品不卡一区二区三区| 一本色道久久88亚洲精品综合| 天天做天天躁天天躁| 国产v精品成人免费视频400条 | 被黑人做的白浆直流在线播放| 日本看片一区二区三区| 国产日韩精品中文字幕| 国产女人水真多18毛片18精品| 亚洲综合性色一区| 国产精品高清亚洲精品| 国产在线一区二区三区四区 | 免费在线观看蜜桃视频| 国产女同舌吻1区2区| 亚洲国产天堂久久综合网| 啪啪免费网站| 亚洲一区二区三区在线更新| 91精品亚洲成人一区二区三区| 东北妇女肥胖bbwbbwbbw| 亚洲情a成黄在线观看动漫尤物| 日本熟妇裸体视频在线| 中文在线中文a| 免费男人下部进女人下部视频| 一区二区三无码| 成人麻豆视频免费观看| 中文字幕人妻被公上司喝醉 | 日韩av一区二区三区激情在线| 免费人妻无码不卡中文字幕18禁| a在线免费| 激情免费视频一区二区三区| 人妻少妇被粗大爽.9797pw| 人人妻人人澡人人爽人人精品| 女同另类激情在线三区| 国产天堂av在线一二三四| 麻豆久久久9性大片| 日本熟妇hd8ex视频| 精品一区二区三区人妻久久福利| 色天使综合婷婷国产日韩av | 亚洲高清视频在线播放| 精品极品一区二区三区|