Olá pessoal, eu estou fazendo um módulo de um projeto java web e acabei ficando num beco sem saída. Após eu sair da tela Login.jsp eu preciso carregar algumas listas com alguns objetos antes de ir para a index, pois nela é necessário saber umdeterminado usuário logado para que ele tenha acesso somente aos seus dados, então eu criei um contrutor que carrega essas informações… mas quando o usuário faz logout e faz login novamente o construtor já está criado e não consigo capturar o novo usuário logado. Então pergunto como posso fazer com que os métodos do construtor sejam executados sempre que é feito login?
Pelo jeito você está criando algum objeto e armazenando na sessão, visto que é uma aplicação web, correto?
Acho que seria mais fácil você remover esse objeto da sessão ao fazer o logout…
Aliás, se puder, posta o trecho onde é feita essa validação do login pra gente poder entender o que você está fazendo…
esse trecho fica na bean de login:
[code] public Usuario getUsuariologado() {
if (usuariologado == null && FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal()!=null){
String login = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName();
if (login != null){
Usuario user = new Usuario();
user.setNmLogin(login);
List l = getGenericServiceLocator().getGenericService().getPeloExemplo(user,false,false);
if (l.size() > 0){
usuariologado = (Usuario) l.get(0);
}
}
}
return usuariologado;
}
[/code]
e esse fica na bean da index:
this.moduloInternet = new ModuloInternet();
this.usuarioLogado = new Usuario();
BeanLogin bean = (BeanLogin) GerenciadorBean.getBean("beanLogin");
usuarioLogado = bean.getUsuariologado();
moduloInternet.setCliente(usuarioLogado.getColaborador().getCliente());
mas o negócio é que o construtor da bean da index deixa guardado esse usuárioLogado no moduoInternet.
esse é o código da tela de login:
[code]<f:view>
<%@ include file="/comuns/cabecalho_login.inc"%>
<h:panelGrid width=“100%” align=“center” style=“valign:middle;” >
<%@ include file="/comuns/login.inc"%>
</h:panelGrid>
<%@ include file="/comuns/rodape_login.inc"%>
</f:view>
[/code]
<td width="100%" background="<%=request.getContextPath()%>/img/back_topo.gif" align="right" valign="middle">
<table height="100%" valign="middle" align="center">
<tr><td class="cssAtributo">Usuário</td></tr>
<tr><td><input class="cssComponenteLogin" type="text" name="j_username" size="15" ></td></tr>
<tr><td class="cssAtributo">Senha</td></tr>
<tr><td><input class="cssComponenteLogin" type="password" name="j_password" maxlength="20" size="15" ></td></tr>
<tr><td align="center" ><input class="cssbtn" type="submit" value="Entrar"></td></tr>
</table>
</td>