SSO(单点登录)与旅游年卡

  SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。(来自百度百科)

  旅游年卡:一次办卡,多个景点游玩。避免了每个景点排队买票浪费时间影响心情。

  我喜欢逛,07年广州一行让我爱上了旅行。十年间转战祖国大江南北。东到浙江苏州上海,南到广东珠海澳门,西到宜昌长江三峡,北到首都长城山海关。经常说的一句话,历史上的云游诗人作家什么的,到现在是写不出那些脍炙人口的诗词作曲的。为啥?全都圈起来收费啦。这些年去过得地方火车票和门票都是厚厚的一扎。

   SSO(单点登录)与旅游年卡-LMLPHP

  好了,话回正题。SSO与旅游年卡有什么关系呢?上面已经说过了他们两个的各自的作用。他们有什么共同点呢?一次,都只需要一次。单点登录一次登录,就可以访问多个互相信任的应用系统,而不需要用户访问每个应用系统的时候都登录一次。旅游年卡一次开卡,就可以游玩多个授权的景点,而不需要游客到每个景点大门都排队买票。省钱省事省时,你说爽不爽。

  然而,在网上看了很多老司机写的SSO单点登录的原理与实现,都很难一下子明白(我是最业余的程序员)。无意看到去游玩时的照片,想起每次都是用旅游年卡去游玩,立马想到哎嘛这不就是单点登录么?到植物园门口"滴"一下就进去了;到动物园门口“滴”一下就进去了;到海洋馆“滴”一下就进去了……其实,在SSO登录后再访问别的应用系统,也有一个“滴”的过程,只是这个过程太快。我们根本看不到而已。

  

  下面,我就带着大家一起在SSO的世界里旅游吧。

  首先,要登录系统必须要有一个账号,要旅游必须要有一个年卡。

  其次,要访问不同的应用系统必须得在其中一个系统中发起登录。同样,要使用旅游年卡,必须在其中一个景点开卡(录指纹、激活)。

  然后,SSO服务器会对账号密码进行校验,如果校验成功,会将登录用户信息存放到一个tokey中,并返回到请求的应用系统中。

    比如,有三个应用系统:博客园(www.cnblogs.com)、植物园(www.zhiwuyuan.com)、动物园(www.dongwuyuan.com)。(搞定了跨域,那其他的都不是问题)不要问我为什么一上来就搞跨域,我就问你不跨域你干嘛要用SSO?

    另外还有一个SSO登录验证系统(www.sso.com)。

    好,现在我要去博客园看猴子(www.cnblogs.com/monkey),啊。需要登录。。。biu,页面跳转到SSO登录页(www.sso.com/login?url=www.cnblogs.com/monkey)。

    输入账号、密码(年卡刷卡验指纹)。登录成功,好,给你带上令牌(token)再回去(www.cnblogs.com/monkey?token=猴子看到不咬你)。来到博客园的猴山,发现不少程序猿。一个个眼红睚眦的瞪着你。突然,猴王看到你胸前挂着的令牌(token=猴子看到不咬你)。微笑着向你打起了招呼:哎呀,快看。是同类耶……于是你就在博客园跟猴子们愉快的玩耍了半天。

    吃过午饭,你又想去植物园逛逛。于是打开了(www.zhiwuyuan.com)。把你手中的令牌(年卡)递给了园丁大叔,园丁大叔拿着你的令牌“biu”的一下跑到验证系统验证你是否登录(www.sso.com/login?url=www.zhiwuyuan.com&token=猴子看到不咬你),系统:咦,这不是猴子看到不咬你么。好、验证通过。然后又“biu”的一下跑回来,而这时候你的眼睛还没有眨一下。然后大叔向你打开了植物园的大门。植物们看到你胸前的令牌,都不害怕了,争相开放着鲜艳的花朵,散发出迷猴、啊不、迷人的芬芳。

  到了晚上,你还想去动物园看看菜鸟,于是你就带着令牌出发了……

  就这样愉快的玩了一天,第二天,你要出差了,也不知道要去多久。于是你就告诉博客园:博博,我要走了,别再记着我了。博客园听到此话,biu的一下跑到验证系统(www.sso.com/logout?token=猴子看到不咬你),验证系统从记录中删除猴子看到不咬你对应的信息。并且告诉你:安心的去吧,下次再来猴子看到会咬你的哦。(旅游年卡注销)而后你再拿着猴子看到不咬你的令牌到植物园人家就不给你开门了。因为(www.sso.com/login?url=www.zhiwuyuan.com&token=猴子看到不咬你)猴子看到不咬你已经不存在了。

  我们知道旅游年卡一般都是有有效期的(通常为一年),同样。SSO登录验证也是有有效期的,这个可以根据系统设置。如果在这个有效期内用户没有主动退出,则一直到过这个有效期,再访问应用系统则需要重新登录(旅游年卡则需要重新激活)。而到下一次再访问登录时,SSO验证系统会给你一个新的(token=猩猩看到不咬你)令牌。(旅游年卡会给你一个新的有效期起止时间),然而账号密码(年卡、指纹)还是不变的。

  

  好了,这篇文章只讲了SSO相关的思路,并没有讲具体的实现与逻辑处理。权当抛砖引玉了。欢迎拍砖。

  (完)

04-17 17:13