实现单点登录时,如何让服务端识别出客户端?


刚刚在刷 segmentfault 发现一个问题 PHP 实现多台服务器共用SESSION方案?

当时只想着共享 session 便回答了 redis 等缓存。

后来突然想到题主的共享 session 是不是想实现单点登录,就思索了半天,想到的方式总有一个难以解决的问题,就是 如何让服务端识别到时哪一个客户端在访问 ,这个客户端是否访问过我的其他站点。

求问?

先谢谢各位了!!

php 单点登录

Chern. 10 years, 7 months ago

一般是用cookie来表示客户端的登陆标识,但是要考虑跨域的问题,具体参考我的博客: http://blog.csdn.net/yunnysunny/article/details/7748106

七夜D战车 answered 10 years, 7 months ago

服务需要识别出那里来的这个不是服务应该做的吧

炮姐俺D嫁 answered 10 years, 7 months ago

你看这样行不行:
比如taobao,tmall共用一套用户.
用户成功登录taobao后在页面输出一个隐藏的发往tmall的图片请求:


 <img src="tmall.com/login.php?token=xxx" style="display:none;"/>

其中token可以是一个经过加密的用户身份令牌,tmall拿到解密后登录对应的用户,从而生成域为tmall的cookie.以后用户访问tmall的时候,就能自动识别了.

rewrite answered 10 years, 7 months ago

Your Answer