最近使用C#(VS2008,framework3.0环境)开发了一套办公自动化系统,现在出现如下问题:
用户登陆系统后,浏览器地址栏自动加了一串类似加密的字符串.类似(XS(1)sdfsdsf55),即如下:http://yourname.com/(XS(1)sdfsdsf55)/default.aspx
这样带来了一个严重的后果:
1.如果A用户将此地址发送给B,C用户,B点击链接即可直接进入系统主页面.且系统显示当前用户为A用户
2.B用户如果在系统中登出后使用自己的帐号登陆,如果C再点击此链接则也是直接进入系统,且用户显示是B用户
3.如果B进入系统未进行操作,则C用户进入系统后显示是A用户.
4.如果B用户进入系统点击了登出但未登录系统,则C点击链接时显示登陆超时,系统自动跳转至登录页面.但是我的系统每个页面都会检查session是否为空,因此现在我们认为是此网址可能包含了session信息.另外很奇怪的是此信息与客户端无关,即只要有人用此网址登录系统 且保持登陆状态则任何人使用此地址均可直接进入系统,那么此信息有可能是保存在服务器上的.并且此信息会保存最后一个使用此地址登陆者的信息.水平有限,到现在无法查找到原因,请遇到过这种问题的热心人帮忙解释一下并提供解决方案!分不够可继续加 

解决方案 »

  1.   

    很奇怪的是服务器竟然没有报资源错误!请大家帮忙啊!TKS
      

  2.   

    你应该判断SESSION中保存的信息和登录的信息是否一致,不应该只判断是否为空
      

  3.   

    你的web.config关于session的配置<sessionState mode="StateServer" timeout="60"  cookieless="UseUri"></sessionState> 
    把这个去掉就没了
      

  4.   

     帮你顶   。up...ing