none
同一IE7浏览器进程中共享Session的问题 RRS feed

  • 问题

  • 有一个项目里.用了Session. Session方式为INPROC.   浏览器是IE7.

    登陆以后.   再关闭该Tab,   再到重新打开一个Tab. 输入地址, 就不需要登陆了,

    直接进入后台, 我上网查了一下, 原因是由于同一浏览器进程共享一个SESSION,  现在有没有办法做到

    同一浏览器不共享SESSION, 只要把Tab关闭了, 那么该浏览器进程的Session也就消失了.

    由于项目已做完,  不想改变验证方式.就不要建议采用Cookie之类的验证方式啦.  


    学习者
    • 已移动 孟宪会Moderator 2009年12月22日 13:02 (发件人:.NET Framework 一般性问题讨论区)
    2009年12月22日 2:14

全部回复

  • 有一个项目里.用了Session. Session方式为INPROC.   浏览器是IE7.

    登陆以后.   再关闭该Tab,   再到重新打开一个Tab. 输入地址, 就不需要登陆了,

    直接进入后台, 我上网查了一下, 原因是由于同一浏览器进程共享一个SESSION,  现在有没有办法做到

    同一浏览器不共享SESSION, 只要把Tab关闭了, 那么该浏览器进程的Session也就消失了.

    由于项目已做完,  不想改变验证方式.就不要建议采用Cookie之类的验证方式啦.  


    学习者
    2009年12月22日 2:18
  • 呵呵  其实按照你的这种情况 我猜测session也是借助cookie来标识客户端的 不然无状态的协议服务器端是无法区分是哪个在请求的 要么把客户端标志添加在url中 要么保存在cookie中 ~~~
    你这种情况建议在关闭浏览器的时候用js 删除cookie 就行了
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年12月22日 2:36
    版主

  • 问题是有多个TAB的时候.  你清除了其中一个的话.那另外一个不是也要跟着  登陆才可以.

    我的想法是:  当一个浏览器上的TAB全部关闭时, 才清除SESSION.  
    学习者
    2009年12月22日 3:25
  • 有一个变通的方法,参考一下

    即然你的安全要求很高,你完全可以禁用从浏览器直接点击访问的方式。也就是从页面中判断前导页,如果不为你自己的站点,则跳转到登陆页或首页。

    这样,可以保证用户从首页或登陆页进入并执行其他操作,而不能直接访问某个已保护的页面,当然这也阻止了已登陆的用户在正常情况下的直接键入地址访问。
    2009年12月25日 2:07
  • 你好,

    ->"同一浏览器不共享SESSION, 只要把Tab关闭了, 那么该浏览器进程的Session也就消失了."
    那重新启动一个IE7 实例呢?

    如果你可以使用IE8的话,IE8 在File菜单里有一个New Session 选项可以创建一个新的session.


    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support
    • 已建议为答案 Licshee 2009年12月30日 16:04
    2009年12月29日 9:21
    版主
  • 您好,这是由于在HTML和各种浏览器设计之初并没有考虑到“一个用户同时使用多个会话”的状况,在主流Web浏览器中诸如Firefox之类的甚至假设你从来也不需要使用多个会话。

    对于IE的用户来说,点击桌面或快速启动栏的IE图标启动新的进程就可以使用不同的会话(请注意如果只是从原来的窗口上新建窗口或者选项卡是不会启用新会话的);对于IE8的用户来说还可以选择“文件”选单中的“新建会话”项。
    Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。
    2009年12月30日 16:09