繼上一篇博文:可跨域的單點(diǎn)登錄(SSO)實(shí)現(xiàn)方案【附.net代碼】雖然實(shí)現(xiàn)了單點(diǎn)登錄,也存在很多不合理的地方。很多熱心的朋友也給出了很多指導(dǎo)性的意見,特別是 LoveCoder提出的意見。

    在很多親自操刀過單點(diǎn)登錄的朋友看來,單點(diǎn)登錄很簡單啊,不過如此。但是還有很多如我一樣剛剛接觸過或者沒有接觸過單點(diǎn)登錄的朋友卻不清楚單點(diǎn)登錄具體該怎么做。雖然網(wǎng)上單點(diǎn)登錄的教程很多很多,大都是實(shí)現(xiàn)思路、實(shí)現(xiàn)原理,真正涉及到代碼級別的實(shí)現(xiàn)細(xì)節(jié)卻很少。

    單點(diǎn)登錄產(chǎn)生的原因是為了解決多個(gè)子系統(tǒng)共享登錄狀態(tài)的問題,每個(gè)人的思想或者能力不同,實(shí)現(xiàn)方式可能都不盡相同。好比過河,各有各的招,有的人坐船過去,還有人拽著繩蹚水過去的,安全嗎?坐船船會(huì)漏,拽繩繩會(huì)斷,怎么辦?每個(gè)人身上再綁個(gè)救生圈,這樣安全了嗎?不見得。針對某個(gè)問題域我們每個(gè)人都想給出一個(gè)完美的解決方案,而現(xiàn)實(shí)往往是因?yàn)閭€(gè)人能力或者公司業(yè)務(wù)情況所限而做不到完美。我們只能做到首先要保證能解決存在的問題,然后針對使用情況做各種優(yōu)化,好的系統(tǒng)是用出來的而不是設(shè)計(jì)出來的。

    在這一篇博文中,主要優(yōu)化的地方是:將輪詢跳轉(zhuǎn)寫cookie到各個(gè)分站改為使用ajax分發(fā)寫cookie到各個(gè)分站。

    如有不正歡迎指教

改進(jìn)方案

是在上一篇博文:可跨域的單點(diǎn)登錄(SSO)實(shí)現(xiàn)方案【附.net代碼】的基礎(chǔ)上進(jìn)行的改進(jìn),如有疑惑請先查看上篇博文。

 1.sso.com登錄驗(yàn)證方法不再重定向,而是輸出一段js代碼進(jìn)行ajax分發(fā)

后臺代碼如下:

網(wǎng)友評論