如何控制同一用户PC和mobile中允许同时登录,但PC和mobile分别只能登录一次
平台默认提供的在线用户列表中没有记录用户登录的终端,因此要分别控制pc和mobile一个用户只能登录一次,需要自己记录用户登录的终端等信息 第一步:可以定义一个全局的map,在登录后把登录的用户名和终端作为key,登录产生的session做为value存储到map中 第二步:在登录前获取到当前登录的用户名和终端,判断map中是否有,如果有说明已经登录过了,可以抛出异常不让登录 第三步:当注销和session超时应该删除map中的信息,可以监听session失效实现 定义全局的map和监听session失效,可以在BusinessServer下创建servlet和listener实现,具体实现如下: 在\runtime\BusinessServer\WEB-INF下创建src 在src下创建servlet:/com/justep/user/OnLineMap.java,注意有包名目录/com/justep/user package com.justep.user; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServlet; public class OnLineMap extends HttpServlet { //定义一个mapping存在登录者的相关信息 public static Map<String, Object> OnLineMaps = new HashMap<String, Object>(); } 创建listener:/com/justep/user/SessionListener.java,注意有包名目录/com/justep/user [...]