我试图阻止多个记录我的应用程序,对此我使用这种方法:不要允许用户多次登录
在我第一次用户登录保存在一个会话的用户,第二次用户尝试再次登录,我首先检查会话,如果会话已经有相同的用户,我不允许用户再次登录。
此方法在同一浏览器中工作良好,但是如果我尝试再次登录同一用户从另一个浏览器,它允许多个登录,因为会话中没有任何内容。
如果我尝试从其他计算机登录,则会发生同样的问题。
请建议。 感谢
这里是我有
User user = (User) rdbHelper.getAuthentication(userid, password);
if(user!=null)
{
session=getThreadLocalRequest().getSession(true);
User loggedInUser = (User) session.getAttribute("user");
if(user.getId() == loggedInUser.getId()){
user.setId(0); // making user null and stopping user to login
}else{
session=getThreadLocalRequest().getSession(true);
session.setAttribute("user", user); // allow user to sing in
}
这不能用仅仅一个会话来完成,但是你需要在数据库中存储IP地址,并且基于你需要检查 –