.net單點登錄(sso)解決方案_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于基于.的單點登錄的單點登錄(SSO)解決方案解決方案前些天一位朋友要我?guī)兔ψ鲆粏吸c登錄,其實這個概念早已耳熟能詳,但實際應(yīng)用很少,難得最近輕閑,于是決定通過本文來詳細(xì)描述一個SSO解決方案,希望對大家有所幫助。SSO的解決方案很多,但搜索結(jié)果令人大失所望,大部分是相互轉(zhuǎn)載,并且描述的也是走馬觀花。閑話少敘,進(jìn)入正題,我的想法是使用集中驗證方式,多個站點集中Passpt驗證。如下圖所示:為方便清晰描述,先定義幾個名詞,本文中出現(xiàn)之處均

2、為如下含義。主站主站:Passpt集中驗證服務(wù)器。分站分站:、、憑證憑證:用戶登錄后產(chǎn)生的數(shù)據(jù)標(biāo)識,用于識別授權(quán)用戶,可為多種方式,DEMO中主站我使用的是Cache,分站使用Session。令牌令牌:由Passpt頒發(fā)可在各分站中流通的唯一標(biāo)識。OK,現(xiàn)在描述一下單點登錄的過程:情形一、匿名用戶:匿名用戶訪問分站a上的一個授權(quán)頁面,首先跳轉(zhuǎn)到主站讓用戶輸入帳號、密碼進(jìn)行登錄,驗證通過后產(chǎn)生主站憑證,同時產(chǎn)生令牌,跳轉(zhuǎn)回分站a,此時分站

3、a檢測到用戶已持有令牌,于是用令牌再次去主站獲取用戶憑證,獲取成功后允許用戶訪問該授權(quán)頁面。同時產(chǎn)生分站a的本地憑證,當(dāng)該用戶需要再次驗證時將先檢查本地憑證,以減少網(wǎng)絡(luò)交互。情形二、在分站a登錄的用戶訪問分站b:因為用戶在分站a登錄過,已持有令牌,所以分站b會用令牌去主站獲取用戶憑證,獲取成功后允許用戶訪問授權(quán)頁面。同時產(chǎn)生分站b的tokenCookie.Domain=““Response.AppendCookie(tokenCooki

4、e)主站憑證主站憑證:主站憑證是一個關(guān)系表,包含了三個字段:令牌、憑證數(shù)據(jù)、過期時間。有多種實現(xiàn)方式可供選擇,要求可靠的話用數(shù)據(jù)庫,要求性能的話用Cache,DEMO中我使用的是Cache中的DataTable。如下代碼所示:初始化數(shù)據(jù)結(jié)構(gòu)|token(令牌)|info(用戶憑證)|timeout(過期時間)|||privatestaticvoidcacheInit()if(HttpContext.Current.Cache[“CERT

5、“]==null)DataTabledt=newDataTable()dt.Columns.Add(“token“Type.GetType(“System.String“))dt.Columns[“token“].Unique=truedt.Columns.Add(“info“Type.GetType(“System.Object“))dt.Columns[“info“].DefaultValue=nulldt.Columns.Add(

6、“timeout“Type.GetType(“System.DateTime“))dt.Columns[“timeout“].DefaultValue=DateTime.Now.AddMinutes(double.Parse(System.Configuration.ConfigurationManager.AppSettings[“timeout“]))DataColumn[]keys=newDataColumn[1]keys[0]=

溫馨提示

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

評論

0/150

提交評論