系統的基本架構 我們假設一個系統System包含Service客戶服務中心
Shop網上購物中心和Office網上辦公中心三個獨立的網站
Service管理客戶的資料
登錄和注銷過程
不論客戶訪問System的任何一個頁面
系統都會轉到登錄界面
在用戶登錄後
系統會自動轉會到客戶上次請求的頁面
並且用戶此後可以在System中無縫切換
不需要再次進行登錄
即在System中實現單點登錄SSO(Single Sign
On)
我們知道
用戶的即時狀態通常是使用Application
Session
Cookie和存儲的
而這些都是不能在程序中跨站點訪問的
我們必需通過站點間相互通訊來確認用戶的即時狀態
簡單的實現 如圖所示
該圖描述了用戶訪問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