Galerinhaa, seguinte :
Tenho um pequeno probleminha em mãos. Houve a necessidade de implementar no sistema um controle de usuários.
Ex.: Meu usuario é gui_sv(1) e ja estou conectado, se outra pessoa conectar com o gui_sv(2) a minha sessão cai ! E se eu me reconectar gui_sv(1) o gui_sv(2) cai … e fica assim … um vai derrubando outro…resumindo, somente um login pode ficar onLine.
Estou implementado isto desta maneira…
Qnd alguem se loga eu adiciono em um map o login e o ip do cara !
login.jsp
...
RequestVerifyLicenseServlet.getUsersLogon().put(user.getLogin(), request.getRemoteAddr());
...
Ai esse RequestVerifyLicenseServlet está implementando da seguinte maneira…
RequestVerifiLicenseServlet
import java.util.HashMap;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import br.com.xx.authorization.User;
public class RequestVerifyLicenseServlet implements ServletRequestListener {
private static HashMap usersLogon = new HashMap();
public static HashMap getUsersLogon() {
return usersLogon;
}
public void requestInitialized(ServletRequestEvent eventRequest) {
HttpServletRequest request = (HttpServletRequest) eventRequest.getServletRequest();
HttpSession session = request.getSession();
User userOnLine = (User) session.getAttribute("user");
if(usersLogon != null){
if(userOnLine != null){
if(!request.getRemoteAddr().equals(usersLogon.get(userOnLine.getLogin()))){
session.removeAttribute("controlSession");
}
}
}
}
public void requestDestroyed(ServletRequestEvent eventRequest) {
// TODO Auto-generated method stub
}
}
Ele funciona da mesma maneira q o SessionCounter, porem estou trabalhando ele a cada request.
E no web.xml adicionei a tag listener.
Blz,
Ai fui testar…esta funcionando legal…se de uma maquina o gui_sv se loga e o outro gui_sv se loga em um outro ip, a minha sessao cai. otimo, é isso que eu quero que aconteça…
Porém, se fizer o seguinte teste … tipo, eu me conectado ai antes de clicar no botao para criar o usuario, alguem “me derruba” ai sem saber clico no botao Criar… a sessao cai … porem ao reconecta o usuario foi criado, e isto nao que aconteça…
Tentei remover os parametros do request, em vão, tentei request = null, em vão …
Alguma ideia de como resolver isto ?!
Obrigado galera …
Se alguem preferir ai vai o msn … [email removido]
Abraços