我做的一个系统,用session 来记录用户名和用户id,当一个用户登陆进去系统了,他过会在销售单上做签名的时候,发现是签的是别人的用户名.因为前面有个用户登陆进来了,这个用户的session 变成他的了,session也会发生篡位吗,这是什么原因呢? 这种情况时不时发生.郁闷呀!请高手门指教!

解决方案 »

  1.   

    session是保存在客户端的,多少个用户登录不会影响的
      

  2.   

    估计是你程序的问题,不是Session的问题
      

  3.   

    你的 用户 信息保存到了?
    Application 中? 或者 使用了 静态的变量 来保存?
      

  4.   

    Session是客户端,没可能出错,看看你的Application里面是否有什么改变
      

  5.   

    寒,什么时候Session存储再客户端了?SessionID还说的过去
      

  6.   

    Session是客户端?星星级的人物都这样说,可真把我给搞蒙了,幸好有人澄清
    这个不可能是SESSION的问题,从没见过,仔细检查下存SESSION的地方有没有搞错,还有数据库读出来的东西是不是唯一
      

  7.   

    Session["EmployeeID"]=EmployeeID.ToString();
    Session["userid"]=userid.ToString();都是唯一值哦
      

  8.   

    哈哈,怎么都说Session是保存在客户端的啊?
    LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)说得没错,SessionID才会在客户端和服务器端传递来确认是哪个Session。
    通常都是用Cookie存SessionID。应该是别的问题,Session篡位还没遇见过!你得多描述一点
      

  9.   

    哈哈,session是保存在客户端,高见。
    你程序的问题,session不会跨出来的。
      

  10.   

    請檢查一下Session的使用是否正確.
    若無問題,可試著改一下Web.Config,加入下邊這一段:
    <sessionState 
                mode="StateServer" 
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;user id=sa;password="
                cookieless="false" 
                timeout="20" 
        />
      

  11.   

    session 使用是正确的  
    <sessionState 
                mode="StateServer" 
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;user id=sa;password="
                cookieless="false" 
                timeout="20" 
        />
    也曾经这样用过,但还是出错
      

  12.   

    我的程序就是登陆的时候 把 用户ID 和用户名存在如下的session里面
    Session["EmployeeID"]=EmployeeID.ToString();
    Session["userid"]=userid.ToString();然后在以后的页面中使用
    但当一个用户登陆进去系统了,他过会在销售单上做签名的时候,发现是签的是别人的用户名.因为前面有个用户登陆进来了,这个用户的session 变成他的了.(这时候他的session不可能丢,因为我设置session丢失的时间为20分钟,但这时才他登陆不到5分钟),只能是其他什么原因,有谁遇到过这样的问题吗
      

  13.   

    Global.asax.cs里有没有定义session?