熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

單點登錄在ASP.NET上的簡單實現[1]

2013-11-13 11:00:15  來源: .NET編程 
系統的基本架構

  我們假設一個系統System包含Service客戶服務中心Shop網上購物中心和Office網上辦公中心三個獨立的網站Service管理客戶的資料登錄和注銷過程不論客戶訪問System的任何一個頁面系統都會轉到登錄界面在用戶登錄後系統會自動轉會到客戶上次請求的頁面並且用戶此後可以在System中無縫切換不需要再次進行登錄即在System中實現單點登錄SSO(Single SignOn)

  我們知道用戶的即時狀態通常是使用ApplicationSessionCookie和存儲的而這些都是不能在程序中跨站點訪問的我們必需通過站點間相互通訊來確認用戶的即時狀態

  簡單的實現

  如圖所示該圖描述了用戶訪問System的流程


  第一步假設用戶訪問了Shop或Office的任何一個頁面Any該頁面所在的網站將會檢查用戶的即時狀態如果用戶已經登錄了則將Any頁面的信息返回給用戶如果用戶還沒有登錄則自動轉到Service的Validate頁面驗證用戶在Service狀態即Shop或Office向Service發出請求要求Service返回用戶的即時狀態

  第二步Validate驗證用戶的即時狀態如果用戶已經登錄了則Service將用戶的即時狀態返回給Shop或Office的同步頁面Synchronous通知Shop或Office同步用戶狀態如果用戶沒有登錄則自動轉向Customer頁面提示用戶登錄

  第三步用戶完成登錄過程當用戶成功登錄後自動轉回Validate頁面通知Shop或Office的Synchronous進行用戶狀態的同步

  第四步在用戶狀態同步完成後在本地站點用戶狀態成為在線狀態即可訪問Any頁面

  在上面的流程中我們知道不管用戶訪問哪個站點用戶只需要一次登錄就保證用戶在Service的即時狀態都是在線的不會再需要進行第二次登錄的過程

  現在我們的思路已經清楚具體的實現我們將在代碼分析中完成

[]  []  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/14962.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.