單點登錄:
單點登錄全程為Single Sign On(簡稱SSO),是指多個系統通過一個用戶授權中心處理,便可以在其他所有系統中得到授權而無需再次登錄;實現方式有很多種,下面這個示例是通過cookie方式來實現的一個SSO。
相對於單系統登錄,SSO需要一個獨立的認證中心,只有認證中心能接受用戶的用戶名和密碼等安全信息,其他系統不提供登錄入口。
假如現在有多個系統進行集成,並且通過單點登錄來進行管理,流程如下:
a) 用戶訪問系統1,系統1發現用戶沒有登錄跳轉至SSO認證中心並將自己的地址作為參數傳輸。
b) SSO認證中心發現用戶為登錄,將用戶引導至登錄頁面。
c) 用戶輸入用戶名和密碼提交登錄申請。
d) SSO校驗用戶信息,如驗證通過將保存用戶信息Cookie並跳轉至最初的請求地址。
e) 當系統2去登錄時,系統將跳轉至認證中心,驗證是否登錄,已經登錄,跳轉至最初請求的地址。
每次在博客園登錄的時候可以看到
https://passport.cnblogs.com/user/signin?ReturnUrl=http://i.cnblogs.com/EditPosts.aspx?opt=1
然后登錄之后跳轉的URL為ReturnURL
以后在各大網站登錄的時候可以稍微注意一下,好多地方都會用到這個功能。
下面是該SSO使用過程:
源代碼下載路徑:https://github.com/zhaochengshen/SSO