用 cookie,登录成功后,顶多也就是多写几个 cookie ,cookie 的 domain 为需要使用此 cookie 的网站的域名。
确实是单点登录,我们公司也有这样的需求,我了解到的就是单点登录,不过分成两种:一种就是真实的单点登录,就是有一个单点登录服务器,不管在哪个网站登录,都是去那个服务器登记的。这样查询的时候就可以查询了。不过可能没有这个服务器,那就搞个伪单点登录,具体就是传递几个参数过来,好像是登录的用户名(可能是用户ID,避免重名问题),包含用户密码和时间戳的经过加密的字符串,以及那个时间戳。然后另一边收到参数后,从数据库中查到该用户的密码,再加上这个收到的时间戳利用相同的加密规则得到加密后的字符串,然后一匹配就知道是不是已经登录了。
有几点需要注意,第一就是加密规则,你可以用MD5来加密,但是具体到待加密的字符串是怎么组合的,就自己定了,一般包括密码,时间戳,还有一个双方都商量好的密钥,其实就是一个任意的字符串。这些连接起来后md5加密。那个时间戳其实也有用处,好像是判断该时间戳和当前时间的差值需要在一定的范围内,才能接受该请求,否则这个请求是非法的。最后一点就是两个系统必须有相同的组织机构,也就是同一个用户名有相同的密码。。。
申明一下,我其实也不懂啊,就是组长跟我解释过一次。自己也没有真正的实现过,所以你懂的,应该还是有难点是我不知道的,或者以上部分也有不正确的部分。
有2个办法,1是你们的域名都是二级域名,1级域名都一样话.直接修改<httpCookies domain=".一级域名"/>就能实现cookie在不同二级域名下共享,
如果一级域名也是不同的话会麻烦一些,基本思路做到最后就是oauth,不过oauth服务器是自己的