SSO英文全稱Single Sign On,單點登錄。SSO是在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。它包括可以將這次主要的登錄映射到其他應(yīng)用中用于同一個用戶的登錄的機制。它是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。(來自百度百科)
旅游年卡:一次辦卡,多個景點游玩。避免了每個景點排隊買票浪費時間影響心情。
我喜歡逛,07年廣州一行讓我愛上了旅行。十年間轉(zhuǎn)戰(zhàn)祖國大江南北。東到浙江蘇州上海,南到廣東珠海澳門,西到宜昌長江三峽,北到首都長城山海關(guān)。經(jīng)常說的一句話,歷史上的云游詩人作家什么的,到現(xiàn)在是寫不出那些膾炙人口的詩詞作曲的。為啥?全都圈起來收費啦。這些年去過得地方火車票和門票都是厚厚的一扎。
好了,話回正題。SSO與旅游年卡有什么關(guān)系呢?上面已經(jīng)說過了他們兩個的各自的作用。他們有什么共同點呢?一次,都只需要一次。單點登錄一次登錄,就可以訪問多個互相信任的應(yīng)用系統(tǒng),而不需要用戶訪問每個應(yīng)用系統(tǒng)的時候都登錄一次。旅游年卡一次開卡,就可以游玩多個授權(quán)的景點,而不需要游客到每個景點大門都排隊買票。省錢省事省時,你說爽不爽。
然而,在網(wǎng)上看了很多老司機寫的SSO單點登錄的原理與實現(xiàn),都很難一下子明白(我是最業(yè)余的程序員)。無意看到去游玩時的照片,想起每次都是用旅游年卡去游玩,立馬想到哎嘛這不就是單點登錄么?到植物園門口"滴"一下就進去了;到動物園門口“滴”一下就進去了;到海洋館“滴”一下就進去了……其實,在SSO登錄后再訪問別的應(yīng)用系統(tǒng),也有一個“滴”的過程,只是這個過程太快。我們根本看不到而已。
下面,我就帶著大家一起在SSO的世界里旅游吧。
首先,要登錄系統(tǒng)必須要有一個賬號,要旅游必須要有一個年卡。
其次,要訪問不同的應(yīng)用系統(tǒng)必須得在其中一個系統(tǒng)中發(fā)起登錄。同樣,要使用旅游年卡,必須在其中一個景點開卡(錄指紋、激活)。
然后,SSO服務(wù)器會對賬號密碼進行校驗,如果校驗成功,會將登錄用戶信息存放到一個tokey中,并返回到請求的應(yīng)用系統(tǒng)中。
比如,有三個應(yīng)用系統(tǒng):博客園(www.cnblogs.com)、植物園(www.zhiwuyuan.com)、動物園(www.dongwuyuan.com)。(搞定了跨域,那其他的都不是問題)不要問我為什么一上來就搞跨域,我就問你不跨域你干嘛要用SSO?
另外還有一個SSO登錄驗證系統(tǒng)(www.sso.com)。
好,現(xiàn)在我要去博客園看猴子(www.cnblogs.com/monkey),啊。需要登錄。。。biu,頁面跳轉(zhuǎn)到SSO登錄頁(www.sso.com/login?url=www.cnblogs.com/monkey)。
輸入賬號、密碼(年卡刷卡驗指紋)。登錄成功,好,給你帶上令牌(token)再回去(www.cnblogs.com/monkey?token=猴子看到不咬你)。來到博客園的猴山,發(fā)現(xiàn)不少程序猿。一個個眼紅睚眥的瞪著你。突然,猴王看到你胸前掛著的令牌(token=猴子看到不咬你)。微笑著向你打起了招呼:哎呀,快看。是同類耶……于是你就在博客園跟猴子們愉快的玩耍了半天。
吃過午飯,你又想去植物園逛逛。于是打開了(www.zhiwuyuan.com)。把你手中的令牌(年卡)遞給了園丁大叔,園丁大叔拿著你的令牌“biu”的一下跑到驗證系統(tǒng)驗證你是否登錄(www.sso.com/login?url=www.zhiwuyuan.com&token=猴子看到不咬你),系統(tǒng):咦,這不是猴子看到不咬你么。好、驗證通過。然后又“biu”的一下跑回來,而這時候你的眼睛還沒有眨一下。然后大叔向你打開了植物園的大門。植物們看到你胸前的令牌,都不害怕了,爭相開放著鮮艷的花朵,散發(fā)出迷猴、啊不、迷人的芬芳。
到了晚上,你還想去動物園看