专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java相关

用户重复登录有关问题

发布时间:2010-06-05 14:10:44 文章来源:www.iduyao.cn 采编人员:星星草
用户重复登录问题
我现在要实现这种功能:
当用户在一台机器上登录以后,就不能在其他机子上再次登录。用户正常退出后,才可以在其他地方登陆。
哪位大虾给分析分析,要怎么才能实现!

------解决方案--------------------
用一个集合保存好登录的用户名,将集合保存到application范围内,
当用户登入时,判断集合中是否有该用户,有就不能登入
用户正常退出时从集合中remove掉该用户名就可以了
------解决方案--------------------
探讨
用一个集合保存好登录的用户名,将集合保存到application范围内,
当用户登入时,判断集合中是否有该用户,有就不能登入
用户正常退出时从集合中remove掉该用户名就可以了

------解决方案--------------------
关于非法退出:

在服务器端设置一个属性,记录每个用户此次登陆的时间,如果登录时间超过一定时间,就从保存用户名的集合中将此用户删除

这是我的想法,不知道可不可行
------解决方案--------------------
SESSION失效处理 

Java code

package com.java91.common.manager;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import org.apache.log4j.Logger;

import com.java91.common.auto.beans.SessionLog;
import com.java91.common.auto.dao.SessionLogDao;
import com.java91.common.framework.Framework;
import com.java91.common.framework.webutil.WebUtil;


public class SessionListenerImpl implements javax.servlet.http.HttpSessionListener {
    
    Logger log=Framework.getImportLog();     

    public synchronized void sessionCreated(HttpSessionEvent se) {
       
        log.info("----------session监听sessionCreated---sessionid:"+se.getSession().getId()+"---"); 
        //System.out.println("----------session监听sessionCreated---sessionid:"+se.getSession().getId()+"---"); 

    }

    public synchronized void sessionDestroyed(HttpSessionEvent se) {
       
        log.info("----------session监听Destroyed----"+se.getSession().getId()+"--");
        String sessionId = se.getSession().getId();
        UserManager.removeLogonUser(sessionId);
        

      
    }

}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: