用个HashMap来记录在线用户,使用struts2的过滤器来判断是不是最后登录的用户(只允许最后登录的用户进行操作),是则放行,不是则跳到登陆界面。
pojo类:
public class User {
private String user;
private String pass;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
在线用户类:
import java.util.HashMap;
import java.util.Map;
public class OnLineUser {
private static Map<String,String> users = new HashMap<String,String>();
public static void putUser(String user, String sessionId) {
users.put(user, sessionId);
}
public static boolean isMyLogin(String user, String sessionId) {
String _sessionId = users.get(user);
if (_sessionId != null && _sessionId.equals(sessionId)) {
return true;
}
return false;
}
public static boolean removeUser(String user, String sessionId) {
String _sessionId = users.get(user);
if (_sessionId.equals(sessionId)) {
users.remove(user);
return true;
}
return false;
}
}
过滤器(检查是否登录,以及是否是最后登录此帐号的用户):