ASP.NET MVC SSO单点登录设计与实现
單點(diǎn)登錄:
? ? ? ? ?單點(diǎn)登錄全程為Single Sign On(簡稱SSO),是指多個系統(tǒng)通過一個用戶授權(quán)中心處理,便可以在其他所有系統(tǒng)中得到授權(quán)而無需再次登錄;實現(xiàn)方式有很多種,下面這個示例是通過cookie方式來實現(xiàn)的一個SSO。
相對于單系統(tǒng)登錄,SSO需要一個獨(dú)立的認(rèn)證中心,只有認(rèn)證中心能接受用戶的用戶名和密碼等安全信息,其他系統(tǒng)不提供登錄入口。
假如現(xiàn)在有多個系統(tǒng)進(jìn)行集成,并且通過單點(diǎn)登錄來進(jìn)行管理,流程如下:
a)?????? 用戶訪問系統(tǒng)1,系統(tǒng)1發(fā)現(xiàn)用戶沒有登錄跳轉(zhuǎn)至SSO認(rèn)證中心并將自己的地址作為參數(shù)傳輸。
b)?????? SSO認(rèn)證中心發(fā)現(xiàn)用戶為登錄,將用戶引導(dǎo)至登錄頁面。
c)?????? 用戶輸入用戶名和密碼提交登錄申請。
d)?????? SSO校驗用戶信息,如驗證通過將保存用戶信息Cookie并跳轉(zhuǎn)至最初的請求地址。
e)?????? 當(dāng)系統(tǒng)2去登錄時,系統(tǒng)將跳轉(zhuǎn)至認(rèn)證中心,驗證是否登錄,已經(jīng)登錄,跳轉(zhuǎn)至最初請求的地址。
?
每次在博客園登錄的時候可以看到
https://passport.cnblogs.com/user/signin?ReturnUrl=http://i.cnblogs.com/EditPosts.aspx?opt=1
然后登錄之后跳轉(zhuǎn)的URL為ReturnURL
以后在各大網(wǎng)站登錄的時候可以稍微注意一下,好多地方都會用到這個功能。
?
下面是該SSO使用過程:
源代碼下載路徑:https://github.com/zhaochengshen/SSO
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhaochengshen/p/7131272.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET MVC SSO单点登录设计与实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web容器(03):Nginx配置负载均
- 下一篇: 设计模式四:策略模式