SSO技术的介绍与实现

Share

      SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统(相对于产生一个Passport,在所有有相同约定的系统中畅通无阻)。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
      这里,我简单的总结了下SSO的实现方式。

web 浏览器的共通认证
大家都知道,我们的cookie是存在于客户端的,并且能一个激活的浏览器实例里面长久的存在,而且,可以被不同的应用或者网站所捕获。这样,我们就可以采用定制的加密或者是编码将用户信息存放在里面,我们给予信任的应用系统密钥,这样就可以在多个应用之间共享用户信息,通过判断里面的信息,可以给予用户的通过与否。这类认证适用于所有的应该,是现在的采用最广泛的一种方法。

多个应用于同一个容器里面的系统的session克隆
这个应该是java的大型应用里面使用的比较多的了,这样就需要每一个系统都有对应的处理方法,而且要建立对应的监听机制。同时,有的服务器是可以无缝的支持这种一个容器下的会话克隆与共享,这样大大的方便了SSO的实现。

数据中心的认真
我们可以在各个互信的系统或应用之间达成一定的协议,然后操作物理文件或者是共通数据库,这样以数据为中心的校验方式,记录登录用户的信息等等。这种方式对技术的要求比较高,采用的相对也是比较少的。