返回信息流问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
这个也是北邮人论坛的一BUG,你在同一客户端登录第一账号,再登录不同的一个账号,两个账号同时登录,如果你刷新一下第一个页面,所有的用户信息就变成第二个账号的。
期望效果:可在一个终端登录多个账号,在页面之间跳转时,账号信息也不会乱,注销一个登录,也不会影响其它账号信息。
求思路。
这是一条镜像帖。来源:北邮人论坛 / www-technology / #11970同步于 2010/12/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
北邮人论坛BUG问题,求解(已有思路,征意见)
wangjianzhou
2010/12/24镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
囧。。。这不是bug 好好看看session机制就明白为什么了,一个客户端,简单说就是一个一个浏览器对应一个唯一sesion...,判断是否登录就是在seesion中添加一个值,同一个浏览器登录,第二次就覆盖第一个的值,或者你非要同一个客户端登录几次的话,可不覆盖,存数组,检查的时候跟数组比对就好了。。。不过基本没见过这么做的,信息管理就囧了,没想到啥好办法,除非浏览器能分辨出来针对同一个网址,带不同的信息给服务端。。。
【 在 wangjianzhou 的大作中提到: 】
: 问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
: 这个也是北邮人论坛的一BUG,你在同一客户端登录第一账号,再登录不同的一个账号,两个账号同时登录,如果你刷新一下第一个页面,所有的用户信息就变成第二个账号的。
: 期望效果:可在一个终端登录多个账号,在页面之间跳转时,账号信息也不会乱,注销一个登录,也不会影响其它账号信息。
: ...................
这不是bug呀,session就是这样的
你那样的需求就要自己定义session了,在服务器上自己把{key,value}存起来,然后在当前用户的当前会话产生的所有请求中都带上这个key值
不光北邮人这样的论坛系统,其他论坛基本上也都是这样的,算不上bug。
【 在 wangjianzhou (缺钱) 的大作中提到: 】
: 问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
: 这个也是北邮人论坛的一BUG,你在同一客户端登录第一账号,再登录不同的一个账号,两个账号同时登录,如果你刷新一下第一个页面,所有的用户信息就变成第二个账号的。
: 期望效果:可在一个终端登录多个账号,在页面之间跳转时,账号信息也不会乱,注销一个登录,也不会影响其它账号信息。
: ...................
如果是自己做的终端,可以做一个映射,不同的id保存不同的cookie,用户切换只需要发送相应id的cookie即可
【 在 wangjianzhou (缺钱) 的大作中提到: 】
: 问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
: 这个也是北邮人论坛的一BUG,你在同一客户端登录第一账号,再登录不同的一个账号,两个账号同时登录,如果你刷新一下第一个页面,所有的用户信息就变成第二个账号的。
: 期望效果:可在一个终端登录多个账号,在页面之间跳转时,账号信息也不会乱,注销一个登录,也不会影响其它账号信息。
: ...................
传说中的google多用户登录,不过我还没试过。
【 在 XIEMENG00 (莫北) 的大作中提到: 】
: 囧。。。这不是bug 好好看看session机制就明白为什么了,一个客户端,简单说就是一个一个浏览器对应一个唯一sesion...,判断是否登录就是在seesion中添加一个值,同一个浏览器登录,第二次就覆盖第一个的值,或者你非要同一个客户端登录几次的话,可不覆盖,存数组,检查
【 在 XIEMENG00 的大作中提到: 】
: 囧。。。这不是bug 好好看看session机制就明白为什么了,一个客户端,简单说就是一个一个浏览器对应一个唯一sesion...,判断是否登录就是在seesion中添加一个值,同一个浏览器登录,第二次就覆盖第一个的值,或者你非要同一个客户端登录几次的话,可不覆盖,存数组,检查的时候跟数组比对就好了。。。不过基本没见过这么做的,信息管理就囧了,没想到啥好办法,除非浏览器能分辨出来针对同一个网址,带不同的信息给服务端。。。
: 【 在 wangjianzhou 的大作中提到: 】
: : 问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
: ...................
数组我也想过,举个例子第二个人登录,信息存在SESSION["2"]中,这时第一个人刷一下页面,怎么判断它要的是SESSION["1"]的信息。
这就是一个设计上的BUG,看看QQ空间就知道了,一个浏览器登录多个,无论你怎么刷新,页面获取的用户信息总不会乱
【 在 wangjianzhou 的大作中提到: 】
: 数组我也想过,举个例子第二个人登录,信息存在SESSION["2"]中,这时第一个人刷一下页面,怎么判断它要的是SESSION["1"]的信息。
: 这就是一个设计上的BUG,看看QQ空间就知道了,一个浏览器登录多个,无论你怎么刷新,页面获取的用户信息总不会乱
那么,假如有这么一个情景:
用户在论坛中登录了两个ID,从AID点开的链接都是显示AID, BID是BID的,很好,现在完全没问题。
那么,现在,QQ群中有人传了一个论坛连接,当他点开这个链接的时候,应该显示为哪个用户?
浏览器应该基于何种假定判断用户到底想要干什么?
至少这种session是不能实现的。。。之前说了除非浏览器更智能,知道现在带什么信息给服务器,要不没戏。。。
【 在 wangjianzhou 的大作中提到: 】
: : 囧。。。这不是bug 好好看看session机制就明白为什么了,一个客户端,简单说就是一个一个浏览器对应一个唯一sesion...,判断是否登录就是在seesion中添加一个值,同一个浏览器登录,第二次就覆盖第一个的值,或者你非要同一个客户端登录几次的话,可不覆盖,存数组,检查的时候跟数组比对就好了。。。不过基本没见过这么做的,信息管理就囧了,没想到啥好办法,除非浏览器能分辨出来针对同一个网址,带不同的信息给服务端。。。
: : 【 在 wangjianzhou 的大作中提到: 】
: : : 问一个很弱智的问题,最近写了一个权限系统,就是用户登录后,将用户信息写到SESSION或者COOKIE,然后从SESSION或者COOKIE读取信息,但是如果我在这里同时登录两个不同的用户,第二次登录的用户SESSION或者COOKIE就会覆盖第一次的。
: ...................