Olá pessoal.
Estou com um problema na minha aplicação web usando jsf relacionado ao uso do mesmo por multiplos usuários. Já vasculhei a internet em busca de uma solução e não encontrei.
O problema é o seguinte:
Quando estou logado no sistema com os meus dados codigo do usuario e nome, se uma outra pessoa se loga em outra maquina, os meus dados de codigo e nome passam a ser os dele, ou seja, sempre fica valendo os dados do ultimo que se logou.
Faço o controle de usuarios por sessao usando o seguinte:
Quando me logo, guardo na sessao os dados do usuario que se logou:
FacesContext contexto = FacesContext.getCurrentInstance();
HttpSession sessao = (HttpSession) contexto.getExternalContext().getSession(true);
sessao.setAttribute(“codigousuario”,codigo);
sessao.setAttribute(“nomeusuario”,nome);
e quando preciso recupero assim:
…
<%
FacesContext contexto = FacesContext.getCurrentInstance();
HttpSession sessao = (HttpSession) contexto.getExternalContext().getSession(false);
String codigo = (String)sessao.getAttribute("codigousuario");
String nome = (String)sessao.getAttribute("nomeusuario");
%>
<div id="usuariodata">
<table border=0 style="margin-left: 0px; margin-top: -1px" cellpadding="0" cellspacing="3" width="100%" bordercolor="#FFCC66" BGCOLOR="#FFCC66">
<tr>
<td style="margin-left: 0px; margin-top: 0px" width="50%" align="left" bgcolor="#FFCC66">
<%=nome%>
</td>
<td style="margin-left: 0px; margin-top: 0px" width="50%" align="right" bgcolor="#FFCC66">
<h:outputText value="#{login.dataAtualFormatada}"/>
</td>
</tr>
</table>
</div>
…
Ou seja os dados de cada usuario que se loga nao estão ficando isolados na sua respectiva sessao.
Alguem poderia me ajudar a resolver este problema.
Obrigado
Franklin