999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單點登錄系統(tǒng)的研究與實踐

2009-04-29 00:00:00陸金江
電腦知識與技術(shù) 2009年15期

摘要:單點登錄(single sign-on)是一種解決不同系統(tǒng)之間一次登錄,多系統(tǒng)訪問的技術(shù)。設(shè)計并實現(xiàn)了一種Web環(huán)境下的單點登錄模型,以它為例,闡述了單點登錄系統(tǒng)的工作機制和流程。

關(guān)鍵詞:單點登錄;Web請求代理;URL重寫;用戶令牌

中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2009)15-3937-02

Simple Analysis of Single Sign-on System

LU Jin-jiang

(Anhui Finance Trade Vocational College, Hefei 230601, China)

Abstract: Single sign-on is a technology making users access multiple systems when he logged on one point. A model for single sign-on is designed and implemented,and it is taken as an instance to illustrate how a single sign—on system works in Web applications.

Key words: single sign-on;web request-proxy;URL rewriting; user token

1 引言

隨著高校、政府、企業(yè)信息化建設(shè)的不斷發(fā)展,基礎(chǔ)設(shè)施的不斷投入與升級,基于WEB的應(yīng)用系統(tǒng)的開發(fā)也得到迅速開展。在網(wǎng)站建設(shè)的過程中,多個應(yīng)用系統(tǒng)(如辦公自動化系統(tǒng)、財務(wù)管理系統(tǒng)、人事管理系統(tǒng)、電子郵件系統(tǒng)等)一般是在不同的時期開發(fā)完成的,各應(yīng)用系統(tǒng)由于功能側(cè)重、設(shè)計方法和開發(fā)技術(shù)有所不同,也就形成了各自獨立的用戶庫和用戶認證體系。用戶在使用每個應(yīng)用系統(tǒng)之前都必須按照相應(yīng)的系統(tǒng)身份進行登錄,為此用戶必須記住每一個系統(tǒng)的用戶名和密碼,這給用戶帶來了不少麻煩。特別是隨著系統(tǒng)的增多,出錯的可能性就會增加,受到非法截獲和破壞的可能性也會增大,安全性就會相應(yīng)降低。針對于這種情況,單點登錄的概念應(yīng)運而生。

2 單點登錄概述

單點登錄(SSO,Single Sign On)是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一,是指在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次即可獲得訪問系統(tǒng)和應(yīng)用軟件的授權(quán),以后就可以訪問所有相互信任的應(yīng)用系統(tǒng),而不必多次輸入用戶名和口令來確定身份。為企業(yè)用戶提供了統(tǒng)一的信息資源認證訪問平臺,建立了統(tǒng)一的、基于角色的和個性化的信息訪問、集成平臺。

目前業(yè)界已有很多成熟的SSO方案,如IBM的WebSphere、Microsoft的.NET Passport和BEA的WebLogic,它們的實現(xiàn)方法各不相同。SSO技術(shù)的實現(xiàn)策略主要分為3種:Web請求代理、票據(jù)憑證和密碼代理。

2.1 基于Web請求代理的認證策略

這種策略的基本思想是建立統(tǒng)一的登錄服務(wù)器來代理所有的應(yīng)用系統(tǒng)的Web請求 ,用戶的認證、登錄都由這個登錄服務(wù)器統(tǒng)一處理。

2.2 基于票據(jù)憑證的認證策略

這種策略的基本思想是在登錄服務(wù)器和應(yīng)用系統(tǒng)之間通過某種憑證建立起信任關(guān)系,這種憑證稱為票據(jù)(ticket)。用戶登錄時首先要經(jīng)過統(tǒng)一登錄服務(wù)器的身份校驗,如通過校驗,可獲得一個ticket憑證。用戶擁有了ticket即可無需任何附加憑證對服務(wù)器所轄所有應(yīng)用系統(tǒng)進行訪問。

2.3 基于密碼代理的認證策略

這種策略是在結(jié)合前兩種策略的基礎(chǔ)上演化而來的。用戶在登錄服務(wù)器上完成統(tǒng)一登錄后,進入應(yīng)用系統(tǒng)時再由登錄服務(wù)器根據(jù)用戶信息獲取相應(yīng)密碼自動完成二次登錄。

其中基于Web請求代理的策略是最理想、應(yīng)用最為廣泛的實現(xiàn)思想。下面就利用這種策略來模擬一個簡單的SSO系統(tǒng)。

3 系統(tǒng)設(shè)計思想

本系統(tǒng)在ASP.NET平臺下使用C#開發(fā),包含2類網(wǎng)站:各Web應(yīng)用網(wǎng)站和登錄服務(wù)器網(wǎng)站。主要功能模塊分為登錄模塊、登錄驗證模塊和退出模塊。其中登錄模塊設(shè)置在各Web應(yīng)用網(wǎng)站,登錄驗證模塊設(shè)置在登錄服務(wù)器網(wǎng)站,各Web應(yīng)用網(wǎng)站和登錄服務(wù)器網(wǎng)站均設(shè)有退出模塊。系統(tǒng)主要流程如下:

3.1 登錄流程

1) 用戶訪問網(wǎng)站A,在本地Session中寫入信息標(biāo)示用戶已經(jīng)登錄。

2) 轉(zhuǎn)向登錄服務(wù)器記錄登錄信息,通過URL傳遞給登錄服務(wù)器網(wǎng)站名、網(wǎng)站退出頁面地址和當(dāng)前的URL。

3) 在登錄服務(wù)器初始化一個字典,存儲傳遞過來的網(wǎng)站A網(wǎng)站名和網(wǎng)站退出頁面地址,并把這個字典加入登錄服務(wù)器的Session中。

4) 重定向到網(wǎng)站A登錄頁面,本地Session中已有用戶信息,表明已經(jīng)登錄。

3.2 站點間的跨域跳轉(zhuǎn)流程

1) 用戶登錄訪問網(wǎng)站A后,向網(wǎng)站B發(fā)出登錄請求,站點檢查本地Session中有無用戶信息,如有則直接進入。

2) 否則說明用戶首次訪問網(wǎng)站B,頁面重定向登錄服務(wù)器檢查Session,并通過URL傳遞給登錄服務(wù)器網(wǎng)站名、網(wǎng)站退出頁面地址和當(dāng)前的URL。

3) 登錄服務(wù)器Session不為空,記錄網(wǎng)站B網(wǎng)站名和退出頁面地址。

4) 登錄服務(wù)器將請求轉(zhuǎn)回網(wǎng)站B,并返回一個標(biāo)示符,表示已經(jīng)登錄過。

5) 網(wǎng)站B接收到驗證通過標(biāo)示,在本地Session中寫入登錄信息。

3.3 退出流程

1) 用戶在網(wǎng)站A(或網(wǎng)站B)進行退出操作,發(fā)出退出請求。

2) 直接重定向到登錄服務(wù)器的退出頁面,在URL中傳遞請求頁面URL地址。

3) 登錄服務(wù)器遍歷Session中存儲的字典,得到該用戶所有已登錄的網(wǎng)站名和網(wǎng)站退出地址。

4) 登錄服務(wù)器將退出請求轉(zhuǎn)向各網(wǎng)站的退出頁面,并清空Session。

5) 各網(wǎng)站的退出頁面進行清空本地Session操作。

6) 登錄服務(wù)器返回網(wǎng)站A(或網(wǎng)站B)的登錄頁面。

4 系統(tǒng)實現(xiàn)要點

1) 在ASP.NET解決方案中只創(chuàng)建兩個網(wǎng)站項目:LoginClient和LoginServer,LoginClient為Web應(yīng)用站點,LoginServer為登錄管理站點。在部署站點時,把LoginClient部署到多個目錄LoginClient1、LoginClient2、…、LoginClient n,來模擬多個站點。

2) 在LoginClient的web.config文件appSetting節(jié)點中中設(shè)置網(wǎng)站信息,以便統(tǒng)一管理。

3) 使用URL重寫方案實現(xiàn)用戶信息在多個應(yīng)用站點間的跨域傳遞,保證系統(tǒng)下的各個應(yīng)用站點間實現(xiàn)用戶狀態(tài)信息的共享。關(guān)鍵代碼如下:

Response.Redirect(ConfigurationManager.AppSettings[\"LoginServerURL\"]+\"/Login.aspx?WebSiteName=\"+ConfigurationManager.AppSettings[\"WebSiteName\"]+ \"WebSiteLogoutURL=\"+ConfigurationManager.AppSettings[\"WebSiteLogoutURL\"]+\"url=\"+ConfigurationManager.AppSettings[\"WebSiteLoginURL\"]+ \"action=LoginUserName=\"+Session[\"UserName\"]+\"Token=\"+ TokenHelper.GetToken(Session[\"UserName\"].ToString()));

4) 為了防止用戶在請求URL時手動添加偽造用戶信息來欺騙應(yīng)用站點,實現(xiàn)非法登錄,在URL中不僅傳遞用戶信息,還要附帶傳遞一個令牌參數(shù)——一個事先寫入數(shù)據(jù)庫的GUID值。接收到令牌參數(shù)后到數(shù)據(jù)庫進行驗證,如通過驗證,立即生成另一個GUID再寫入數(shù)據(jù)庫,上一個令牌失效。關(guān)鍵代碼如下:

string sNewToken = Guid.NewGuid().ToString();

bool bReturn = 1;

using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings[\"SSOConnString\"]))

{ conn.Open();

SqlCommand cmd1 = new SqlCommand(\"SELECT count(*) FROM tbUser WHERE UserName=@UserName and Token=@Token\", conn);

cmd1.Parameters.AddWithValue(\"@UserName\", sUserName);

cmd1.Parameters.AddWithValue(\"@Token\", sToken);

bReturn = cmd1.ExecuteScalar().ToString() == \"1\";

SqlCommand cmd2 = new SqlCommand(\"UPDATE tbUser SET Token=@Token WHERE UserName=@UserName\", conn);

cmd2.Parameters.AddWithValue(\"@UserName\", sUserName);

cmd2.Parameters.AddWithValue(\"@Token\", sNewToken);

cmd2.ExecuteNonQuery();

}

5) 在退出模塊,登錄服務(wù)器輸出圖片流,利用img的src來訪問各個網(wǎng)站的退出頁面進行退出操作。關(guān)鍵代碼如下:

foreach (string s in LoginWebSite.Keys)

{string WebSiteName = s;

string WebSiteLogoutURL = LoginWebSite[s] + \"?tmp=\" + Guid.NewGuid();

Response.Write(String.Format(\"{0}:<img src='{1}'/><br/>\", WebSiteName, WebSiteLogoutURL));

}

5 結(jié)束語

通過實現(xiàn)單點登錄,用戶可以得到更多的收益,更簡單的使用和更合理的管理。以上只是對SSO系統(tǒng)的簡單模擬,實際應(yīng)用中,還會和PKI證書、XML標(biāo)準(zhǔn)以及Web Service安全規(guī)范標(biāo)準(zhǔn)等技術(shù)相結(jié)合,形成更加安全、可行的解決方案。

參考文獻:

[1] 陳重威.一個Web應(yīng)用單點登錄系統(tǒng)的設(shè)計和實現(xiàn)[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報,2004,20(1).

[2] 皮曉東.單點登錄的研究與實現(xiàn)[J].計算機應(yīng)用與軟件,2007,24(6).

[3] 由雪梅,李大興.基于PKI的Web單點登錄系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(9).

[4] 陳淥漪,管小清.單點登錄(SSO)系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2008,3(7).

[5] 張慶華.ASP.NET完全自學(xué)手冊[M].北京:機械工業(yè)出版社,2007.

[6] 陳鵬,刁紅軍,朱斐.一種基于Web單點登錄系統(tǒng)實現(xiàn)[J].計算機應(yīng)用與軟件,2007,24(11).

[7] 奚江華.圣殿祭司的ASP.NET2.0開發(fā)詳解[M].北京:電子工業(yè)出版社,2008.

[8] 德仔工作室.單點登陸系統(tǒng)SSO原理[EB/OL].http://www.dezai.cn/article_show.asp?ArticleID=13742.

主站蜘蛛池模板: 找国产毛片看| 亚洲成人黄色在线观看| 国产人免费人成免费视频| 亚洲第一区欧美国产综合| 国产欧美在线观看精品一区污| 色综合狠狠操| 青草视频网站在线观看| 就去吻亚洲精品国产欧美| 亚洲欧美综合另类图片小说区| 最新国产高清在线| 波多野结衣第一页| 99视频精品全国免费品| 欧美成人精品高清在线下载| 亚洲精品无码日韩国产不卡| 日韩精品一区二区深田咏美| 亚洲色图欧美激情| 国产无码在线调教| 91在线一9|永久视频在线| 国产高清毛片| 国产精品亚洲αv天堂无码| 原味小视频在线www国产| 国产日韩精品一区在线不卡| 免费毛片视频| 国产91丝袜在线播放动漫 | 国产在线一区视频| 国产成人综合亚洲欧美在| 看av免费毛片手机播放| 九色在线观看视频| 亚洲黄色片免费看| 干中文字幕| 一区二区午夜| 国产一级裸网站| 中文字幕精品一区二区三区视频| 欧洲精品视频在线观看| 亚洲色图欧美一区| 久久美女精品| 97se亚洲综合不卡 | 欧美亚洲激情| 亚洲黄色成人| 尤物成AV人片在线观看| 国产91全国探花系列在线播放 | 久久精品丝袜高跟鞋| 免费激情网站| 日韩无码黄色| 高清色本在线www| 中文字幕无码电影| 国产浮力第一页永久地址| 18禁影院亚洲专区| 亚洲日韩图片专区第1页| 国产乱子伦一区二区=| 国产成人高清在线精品| 亚洲中文字幕在线观看| 91麻豆久久久| 国产成人免费高清AⅤ| 亚洲精品在线影院| 超级碰免费视频91| 国产一级做美女做受视频| 国产精品永久不卡免费视频 | 欧美性久久久久| 色悠久久综合| 最新国产高清在线| 在线观看视频99| 婷婷综合缴情亚洲五月伊| 国产永久免费视频m3u8| 91久久青青草原精品国产| 五月激情婷婷综合| 91九色视频网| 免费亚洲成人| 99热这里只有精品5| 欧美精品高清| 97国产在线视频| 日韩成人在线网站| 亚洲成人在线免费| 亚洲国产午夜精华无码福利| 在线观看亚洲天堂| 成年A级毛片| 国产成人a毛片在线| 91丝袜美腿高跟国产极品老师| 国产亚洲欧美在线人成aaaa | 99精品热视频这里只有精品7| 日本色综合网| 日韩 欧美 小说 综合网 另类|