单个用户的多重并发会话限制/限制单客户端同时登录多个用户

本文介绍了如何在SSH2框架下,通过编程方式实现实时限制单个用户并发会话以及禁止同一客户端同时登录多个用户的功能。在登录处理方法中,当检测到用户在另一设备或已有会话时,将强制结束先前的会话,确保会话和登录的唯一性。
摘要由CSDN通过智能技术生成

我使用的是SSH2框架,做安全测试需要限制:1.单个用户的多重并发会话限制 2. 限制单客户端同时登录多个用户 。这两个内容,没有采用在web.xml中配置过滤器的方式,我处理的方式是如果一个用户在第二台电脑上登录了就踢掉上一台电脑登录的用户,如果同一个台电脑有第二个用户登录 ,就踢掉之前登录的帐号。

所以,是在登录的方法中做的处理。

在登录方法中加入如下两行语句,作为程序的入口:

SessionListener.isAlreadyEnter(getHttpRequest().getSession(),this.getUserCode(),loginUser);
getHttpRequest().getSession().setAttribute("isLoginIn", "LoginIn");

在SessionListener类中做相关的踢出处理:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpS
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值