session多用户问题

07-08-16 jiyanliang
基于多用户的系统中

我把用户在登录时的信息保存在session中,如

request.getSession().setAttribute("user",user);

当访问其它页面时,这些页面在从session中读出

以进行权限判断.

但现在有一个奇怪的问题,就是在其它的机器上登录另一个帐号时,刚才那个登录帐号也变成了后登录的这个帐号.

按理说,session是保存在客户端的,怎么会重了呢

在线等

现在我在一台机子上登录

request.getSession().setAttribute("user",user);

在再另一台机子上登录

request.getSession().setAttribute("user",user);

第一个用户再想通过user字符串去查找session就找不到自己的了(因为又有一个设置了user字符串),是不是要通过id来查找呢。

这是登录代码

user.setYhm(yhm);

user.setMm(mm);

user.setQxdo(qxdo);

user.setBm(bm);

request.getSession().setAttribute("user",user);

request.getSession().setAttribute("userpower",qxdo);

这是前台读取代码

Loginin login = new Loginin();

Object yhzobj = request.getSession().getAttribute("user");

User user = (User)yhzobj;

if(user==null)

{

response.sendRedirect("/zhaotoubiao/demo/login.html");

}

String name = user.getYhm();

String qx=user.getQxdo();

对于两台机子的不同用户登录:

及第一个用户在一台机子上登录后,如用户名是a ;

过一段时间另一个用户b再在另一个机子上登录,用户名是b;

这时a用户重新刷新页面得到的却是用户名b,不知道是怎么回事。

    

1
banq
2007-08-20 09:27
session不是保存在客户端的,你可能对Session机制不是很清楚。http://www.jdon.com/jivejdon/thread/18806.html

janwen
2010-06-02 11:10
request.getSession().setAttribute("user",user);这样当然会覆盖了,session默认是在服务器端保存的,

猜你喜欢