1.A系统访问B系统B-1.aspx页面(参数token:B-1.aspx?token=XXXXX) 
2.B-1.aspx 获取token 然后调用A系统中webservice 将token 用来鉴权。(防止非法访问,webservice中将参数token 与步骤1 中带过去的参数做对比 )
3.在B-1.aspx 中通过步骤2调用webservice返回的真假来执行,如果为真则用session保存token,然后跳转到B-2.aspx页面,为假直接跳到错误页。在B-2.aspx中只能通过session来检测是否非法登录了。
附:问题就是在步骤3中在B-2.aspx中访问不到B-1.aspx中设置的session,如果打开IE设置中隐私-覆盖cookie就能访问。
B-1.ASPX 和B-2.aspx页是同一项目下的 但访问不了session

解决方案 »

  1.   

    那你在第三步骤的时候跳转到b_2.aspx时,给他带个参数过去呗
      

  2.   

    你用Firefox浏览器看看
    另外,把IE临时文件夹清空,保证有足够的磁盘空间再测试
      

  3.   

    带个参的话 那别人在IE里直接复制过来随便带个参数也能访问了  我加session就是为了防止直接访问
      

  4.   

    ...你把cookie禁止了,你的在ie中保存sessionid...
      

  5.   


    我试过了 实际中是这样的 A系统是总平台 B系统是各分平台 只是每个分平台的页面我都是一样的 现在是比如说两个分平台 部署的服务器和总平台的服务器在一个网段 session就不会丢失  但如果不是同一网段就不行 只有将IE设置  安全隐私 里的 允许覆盖cookie勾上才可以
      

  6.   

    在web.config中配置cookieless= "true".
      

  7.   


    这个我倒没试  不是说默认是为true的么? 
      

  8.   

    cookie中存着sessionid,你对cookie做了限制,导致了sessionid丢失。
      

  9.   

    沉底了。我试过了  在web.config中配置cookieless= "true". 也解决不了
      

  10.   

    已解决  
    在B-1的页面中 输出
    Response.AddHeader("P3P", "CP=CAO PSA OUR");