请问用户分布在多个服务器上的身份验证如何实现?有人能说说思路吗?

解决方案 »

  1.   

    我来谈谈我的经验吧
    1 先明确 多个服务器上 的概念
    如果是一个域名下的多个子域名,比如
    a.mydomain.com
    b.mydomain.com这种方式,你把cookie设置到 domain 的 / 下,所有的服务器就都可以拿到这个cookie了。
    这个cookie可以是我们以某种方法保存的用户认证信息,在每个服务器上单独认证就可以了2 如果域名不同,就麻烦好多
    最简单,但也最麻烦的是所有服务器都采用统一的认证服务,比如调用同一个LDAP,同一个WebService等。
    某个用户在某个服务器登陆成功后,在认证服务器上记录一个认证码,并把这个认证码显示在用户浏览器的url后面。
    特别是那些转到其他服务器的url后面。其他服务器一旦发现url后面的认证信息,就到认证服务器判断信息的合法性,如果没问题,认证服务器返回用户第一次登陆的各种信息。
    当前服务器确认就可以了。3 可以找找第三方的SSO解决方案,如果有现成的,最好用,自己研发第二种情况下比较麻烦。也不一定好用。