如何在不同的网站之间传递session

youlostme 2011-07-01 11:10:21
我公司目前有2个内网站,IP分别为:192.168.100.1 与 192.168.100.2,都需要进行登录才可以访问。

想在192.168.100.1上面只做一个登录界面,登录之后,通过连接也可以之间访问192.168.100.2的网站,而不需要再次进行登录。

我试过在192.168.100.1上面设置session,可是,只对192.168.100.1的网站起作用,对192.168.100.2的没有起作用。

请问大家,我这样的需求,要如何实现呢?



比如网易的:一次登录之后,可以在mail.163.com,www.163.com,news.163.com等全站用这个用户名访问,而不需要再次进行登录。请问这样的方法是如何实现的呢?
...全文
185 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
码农XP 2011-07-11
  • 打赏
  • 举报
回复
session 是http服务器管理的,当然不可能共享。可以用同步登录的方法。使用cookie,例如站A登录了,保存登录信息到cookie,那么可以调用B站提供的接口(GET方式),传递登录信息给B站,保存登录信息到cookie.传递的信息要加密。前提是共享用户信息,比如discuz的ucenter所使用的技术。流程: A 登录-》写A需要的cookie信息-》返回一个页面包含脚本 <script src="http://b.com/api/login.asp?code=SHEWEh**eJJJ"></script>,这样浏览器就会访问b站,传过去了登录信息,比如用户名密码,当然是加密的-> http://b.com/api/login.asp验证信息,并写b需要的cookie。同样b站登录的时候,调用a站的api。这样可以实现多站登录了。所以还要注册每个站,并提供相同的接口。
youlostme 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tcwsyt 的回复:]
mail.163.com,www.163.com,news.163.com

他们是一个主机,,你是两个。。
[/Quote]

补充一下,我这2个IP,也是在同一个服务器上面的。
猜我是几娃 2011-07-01
  • 打赏
  • 举报
回复
概念上的理解错误。 www.163.com 和 www.baidu.com 是两个主机,而且都是一级域名,就我所知,session在这两者时间是不能传递的。

而 mail.163.com 和 www.163.com 实则是一个主机,mail.163.com是www.163.com下的域名,也即是二级域名,他们之间是可以传递的。

楼主想实现在不同域名之间的值共享,可以用 cookies 来实现
灬上海爽爷 2011-07-01
  • 打赏
  • 举报
回复
mail.163.com,www.163.com,news.163.com

他们是一个主机,,你是两个。。
inetfuture 2011-07-01
  • 打赏
  • 举报
回复
单点登录

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧