一个线路巡检系统,由于前期设计的有问题,权限是通过自己写jsp标记实现的,现在出现了一些问题一个用户:系统管理员
另一个用户:普通用户系统管理员首先登陆之后,通过世纪之窗浏览器新见一个窗口,再用普通用户登陆,这时就出现了问题,系统管理员的权限成了普通用户的权限,如果将系统管理员登陆的页面刷新一下,普通用户又有了系统管理员的权限.自己想了很多方法还是没有解决,希望CSDN的朋友们能帮忙解决一下,谢谢了...我想实现的是,同一时间只能登陆一个用户,当第二个用户登陆后,第一个用户的所有操作都失效,刷新页面或者做其他操作都转到登陆页面.不是单点登陆,是一台电脑上只能同一时间登陆一个用户.谢谢大家...

解决方案 »

  1.   

    在同一个进程内,Cookie是共享的。所以必然会出现相互干扰的问题所以你应该保证的是不会出现当我使用普通用户登录时,刚才那个管理员的窗口中的操作还可以使用就行了如果要登录两个不同用户,让用户自己新开一个IE进程去(如果IE8,那么新开进程好像也是同一个会话的)
    或者开一个IE、一个世界之窗之类的
      

  2.   

    当你在次登陆的时候它将session重新写入你说是不是等于你所登进去的那个权限额?你原来的系统管理员被你后来登陆的普通用户给覆盖了吧?
      

  3.   

    身份的识别与权限是使用session管理的吗?如果是session管理的,再次登录时先把原来的session清空,不就相当于前一个用户自动退出了吗?
      

  4.   

    我也试过这样,但是两个页面是同一个session,就是你清了以前的那个session,前面的那个页面还能从当前的session中取到信息,权限老冲突,而且刷新一下以前的那个页面,它又登进去了,按理说应该刷新一下就退出了》。。
      

  5.   

    你一定是使用了自动登录的脚本,这与cookie有关。如果是这样的话,再次登录时发个页面过来使原来的cookie失效,再跳转到一个新的登录页面,就不会有这个问题了。
      

  6.   

    IE和FF都是这样的,多个标签享用一个session,所以你一个浏览器登录,即便多个开过个标签,始终只有一个session。
    如楼上所说,你可以在向session赋值的时候做个判断,session不为空就把它清空再进行赋值,这样就保证只有一个session了。
      

  7.   

    String userName = request.getParameter("username");
    String password = request.getParameter("password");
    只是这样简单的取了一下用户名和密码,然后从数据库中查处用户所有信息放入session
      

  8.   

    google: cookie 失效 时间 控制