有两个站点:A、B
我要实习的效果:A站点登录了B站点就不用登录,B站点登录了A站点就不用登录.
A站点:提供一个webServer接口用于注册、登录.
B站点:通过webServer接口注册、登录.
现在问题是我B站点通过A站点提供的webServer接口登录成功后B站点可以获取到A站点的登录信息.但是A站点的Page页无法获取到登录成功后的Session. 在网上搜了相关问题,发现问题出在cookie上:
我B站点在登录实例化WebServer 时指定了一个静态公共的 CookieCollection
但A站点的Page页就没法指定同一个了.所以A站的Page中一直获取不到Session 信息
求高手指点.
登录成功后在响应中写两个域名的 cookie。
嗯,谢谢.这样是可行
其实每个站点登录现在比较普遍的方案都是在客户端注册一个Cookie,对于网站来说,每个网站只能注册自己域名对应的Cookie, A站点登录时需要在客户端注册自己的Cookie,然后调用B站点页面地址(一般是通过Ajax实现),B站点在客户端再注册自己的Cookie, Session一般是基于Cookie才能发生作用的(基于QueryString也可以,但不常见)。
大型站点也是这样的吗?!感觉好像不是通过Cookie,我清了Cookie一样还是登陆状态.
@mycing: 你没清对,清了需要重启浏览器,最好能让cookie过期
@沧海一杰: 你不信你可以用httpfox或者fiddler看一看,登陆了后和没登录前发送的cookie是不一样的。
@沧海一杰: 好,回头试试.
再互相建立个webservice下 取用户状态的方法,最简单的方法,放到数据库中吧。
我知道session有个模式是用数据库来实现共享的.但这是一个小型门户网没必要弄那么复杂.