coollzh

.NET Oriented
随笔 - 76, 文章 - 1, 评论 - 222, 引用 - 14
数据加载中……

2007年6月1日

二级域名导致asp.net中的Session_Id访问混乱并使用户访问产生异常

csdn上有一篇帖子:
http://topic.csdn.net/t/20051024/21/4347573.html
原文如下:
一个问题,不知道是我孤陋寡闻还是一直没有注意,我觉得这是一个很常见的应用问题,但是好像没有看到以前有什么反应,现在来请教大家。  
   
  2个域名,根域名相同,例如a.x.com和b.x.com  
   
  这两个域名的网站在不同的服务器,其中a.x.com上通过iframe嵌套了b.x.com的一个页面,例如  
   
  <iframe   src="http://b.x.com/news.aspx"   width="200"   height="400"></iframe>  
   
  a.x.com需要用户登录以后才能完全访问使用所有功能。  
   
  现在的问题是,a.x.com时常会出现用户访问并没有登录,但是登录控件显示已经登录的状态,并出现另一个用户的信息。或者用户正常登录以后出现的是别人的信息。  
   
  这种情况也会在用户通过b.x.com链接访问a.x.com的时候发生。  
   
  经过调试和监测,我们发现用户在访问a.x.com的时候cookie中会获得两个session_id,导致用户无法正常识别。  
   
   
  这个问题曾经还询问微软技术人员,但没有获得圆满答案

__________________________________________________________________
思归的回答是:
听上去很怪,即使是同一机器,Session应该跟Application有关的,不同Application应该有自己的Session,你对Session   Cookie的Domain或Path做了什么手脚了么?”

思归的回答是基于Session 的模式是InProc的
但是如果Session的模式是StateServer,这两个域名都连到同一台StateServer上,是不是Session真的就可以共享了?当然。各子站点在IIS里的ID都是一样的

有没有人做过测试,如果可以的话,asp.net下多子站点共享Session就可以实现了


posted @ 2007-06-01 15:32 coollzh 阅读(731) | 评论 (3)编辑