同一台电脑上打开2个登录页面,用2个账号登录后,session 会乱窜。
比如:第一个账号登录后,再用第二个账号登陆后,我用第一个账号 添加数据,显示的添加者是  第二个登录用户。后登录的用户名直接覆盖了前一个的。。打印session["用户名"]出来的是第二个的用户名
求高手解答!!!!
我想让2个session不要乱各管各的。

解决方案 »

  1.   

    现在似乎还不能,SESSEION本来只支持同一浏览器的单一模式
      

  2.   

    禁用Cookie不知道行不行,让SessionID做为URL参数传递
      

  3.   

    如果系统有框架的话,在框架中弄一个隐藏域来保存登陆后的session值,然后做处理都根据隐藏域的值来处理,这样是否可以解决这种问题。
      

  4.   

    楼主失踪了。你把Session.SessionID 打出来看下,应该每个会话的id都不同。
      

  5.   

    既然是用SESSION  怎么可能有2个登录页面?  你登录1个以后, 你还能打开登录页面?
      

  6.   

    session基于cookies的. 同一个浏览器打开同一个网站公用一个cookies集合的.如果你想两个人用同一个浏览器,但是又可以区别比是两个不同的帐号.就用url的cookies. 或者自定义一个加密串到url里面. 登录判断根据这个加密串来判断. 每次跳转或刷新页面的时候记得把这个加密串附带到url上面.
      

  7.   

    session是基于会话的,会话是基于Cookies,cookie是基于网络的
      

  8.   

    可以确定,在你的桌面上打开同一个浏览器程序的不同进程,其Session肯定是不同的!
      

  9.   

        浏览器打开的应该是标签页在同一浏览器中,也在同一会话中,此时session 只记录最后一次信息。现在貌似还没看到这种问题的解决方法。csdn,博客园,空间都是这样的。
    另开一进程,开一浏览器,就不会出这个问题,
      

  10.   


    确实正解  你先要确定 是否分别在两个进程内 如果只是一个进程 那sessionid 是一样的 后面的当然会覆盖前面的了 两个进程的话 我还没碰到过 能共用session的办法 
      

  11.   

    IE8 +中点主菜单>文件>新建会话 再打开一个登陆页面,此时两个页面中的Session就隔离开了
    这个的确跟IE7+以上打开页面时是否是新开一个进程有点关系,开标签页多数都是在同一进程中
      

  12.   

    这个没办法  如果你使用两个不同的浏览器  比如Firefox和IE就不会有这个问题
    原因:  IIS里面对Session的辨别是通过客户端浏览器版本鉴定和生成SessionID的
      

  13.   

    测试两个进程的sessionid, 用chrome测试.
    由于session在没有写之前一直是变化的,这个时候测试值不准,所以用登录测试.打开两个chrome 窗口(非选项卡)网站登录模式(cookies+session);在其中一个窗口登录. 另一个窗口会自动登录. cookies是共享的.直接查看了下两个窗口上保存的asp.net_sessionid. 发现是一样的? 开两个chrome应该是独立的进程吧. 怎么sessionid一样.
      

  14.   

    chrome是一个看起来很“混乱”的、抢占内存的服务应用。当你打开一个窗口时,你会发现一下在增加了好几个进程。当你打开第二个窗口时,并没有增加进程。当你一个一个进程删除时,你会发现两个窗口其实是在你关闭同一个进程时才消失的!
      

  15.   

    想在一个桌面上模拟两个浏览器用户进行测试,做到(内存中的)cookie分隔,那么就不要使用chrome浏览器。
      

  16.   

    同样条件, ie9测试结果, 打开新窗口用File - New Session  的模式, 测试两个窗口asp.net_sessionid值不同. cookies值还是可以共享的.唉. 被chrome忽悠了一次.
      

  17.   

    顶p哥. 普通的cookies是共享的. sessionid的cookies(内存中)是不同的. 
      

  18.   

    是session更新,只保留最新的session值,如果同一浏览器,先判定是否有登录,如果有创建session 时更名,就不会更新了。
      

  19.   

    这个问题存在多年了,很正常,同一个浏览器登录同一个网站,如果有两个用户,并且存储方式session没用禁用cookie就会有空上情况,后一用户,替换前一用户,session给值时,由于第一次登录用户并没有登出,所以第二个用户登录值覆盖第一个解决方法
    1.同一浏览器对同一网站登录做判断,只允许有一个用户,
    2.禁用cookie,sessionid通过url参数传递
    3.登录时将用户名存储文本文件,然后登录时对文本文件做判断,查看是否存在已登录用户,如果有友好提示,登出用户,或是关闭先前用户,
      

  20.   

    分别用两个浏览器,一个IE,一个chrome或firefox
      

  21.   

    记录时可以试试同时记录sessionID,配合session账户名联合验证,避免重名操作。
      

  22.   

    之前我也遇到过。------------304F不锈钢棒 http://www.twylbxg.com 台湾烨联不锈钢
      

  23.   

    IE 8及以上中可以在file->new session 中打开登录,能够使用两个session。ie7 及以下都没有办法。其他浏览器不确定。
      

  24.   

    对,同一个浏览器会出现这样情况,QQ空间是最好的例子。
    QQ到目前也没解决,要么感觉这不是问题,要么就是没办法。
      

  25.   

    Session :会话 楼主是说这个不?
    会不会是游览网页兼容的问题呢?
    没有遇到过,学习了
      

  26.   

    这是与浏览器有关的。目前各种最新的浏览器都是Session共享的。用同一个浏览器打开同样一个网站,第二个Session会将第一个Session覆盖。最合理的做法是,使用两个不同的浏览器,一个IE,一个Chrome.个人认为Safari最卡,Chrome最快,其次是Opera,然后是FF(FF的启动最慢,运行挺快),然后IE,主流就是这几个了。
      

  27.   

    其实通过设计可以让session默认就支持多用户登陆的  当然在提交很多东西的时候都要顺便提交当前页面的用户信息了 阿哈哈哈  很不符合主流的web逻辑
      

  28.   

    同一个浏览器的sessionid一样,后者覆盖前者
      

  29.   

    如果是session应该是不可能的,session就是限制这个的,你还就不想这样,那你就别用session啊,想
      

  30.   


    cookies 也有只有持久型的(在硬盘生成文件的) 才能跨浏览器进程非持久型 的 cookies 跟 session 的区别就是 一个在服务器端一个在客户端
      

  31.   

    用url传输session ID, 同时记得encode session ID
      

  32.   

    打开两个登陆界面  只是界面 还未登陆~  这时候登陆第一个账号 无异常 
    这时候切换到第二个登陆界面 登陆第二个账号 之后 你的第一个账号的session肯定就没用了  第二个的账号的session生效啊
      

  33.   

     一个浏览器2个用户名登录 当然会后者替换前者的session .