Fórum Passando parametro em jsf #402359
05/06/2011
0
Olá amigos preciso de uma dica.Estou desenvolvendo uma aplicação web (com jsf e jpa) e preciso que a identificação do usuário que obtenho na tela de login, seja passada para uma outra tela onde realizo a importação de um arquivo de retorno bancário. Exemplo após acessar o sistema quero obter qual usuário esta logado para poder passar esta identificação para uma função que chamo em outra tela e realizar a importação. segue abaixo o código que uso atualmente:
jsp de login <td align="center"><h:inputText value="#{loginJSFBean.login}" maxlength="20"/></td> </tr> <tr align="center"> <td>Senha:</td> <td><h:inputSecret value="#{loginJSFBean.senha}" maxlength="20"/></td> </tr> <tr align="center"> <td colspan="2"> <h:commandButton value="ENTRAR" action="#{loginJSFBean.verificarUsuario()}"> <f:param id="id" value="#{loginJSFBean.usuLogado.fdId}"/> </h:commandButton>
managerbean public String verificarUsuario() throws Exception { usuLogado = usuDAO.validaUsuario(login, senha); if(usuLogado != null){ System.err.println("Exibe id do usulogado "+usuLogado.getFdId()); return "loginok"; } else { return "loginfalhou"; }
preciso pegar esse usuário que se logou e usar na seguinte função que fica em outra tela chamada upload.
jsp upload
<rich:fileUpload fileUploadListener="#{fileUploadBean.getUploadArquivo}" acceptedTypes="RET, ret"> <a4j:support event="onuploadcomplete" reRender="info"/> </rich:fileUpload> <h:commandButton value="Importar" action="#{fileUploadBean.importar}" label="Importar"/>
preciso passar o id do usuario logado nesta página para entao chamar a função java que importa o arquivo e grava no banco.Consigo exibir em qualquer página do sistema o id, nome e login do usuário logado, mas nao sei como repassar este valor para a função que importa o arquivo. Se puderem ajudar fico grato.
Obrigado.
jsp de login <td align="center"><h:inputText value="#{loginJSFBean.login}" maxlength="20"/></td> </tr> <tr align="center"> <td>Senha:</td> <td><h:inputSecret value="#{loginJSFBean.senha}" maxlength="20"/></td> </tr> <tr align="center"> <td colspan="2"> <h:commandButton value="ENTRAR" action="#{loginJSFBean.verificarUsuario()}"> <f:param id="id" value="#{loginJSFBean.usuLogado.fdId}"/> </h:commandButton>
managerbean public String verificarUsuario() throws Exception { usuLogado = usuDAO.validaUsuario(login, senha); if(usuLogado != null){ System.err.println("Exibe id do usulogado "+usuLogado.getFdId()); return "loginok"; } else { return "loginfalhou"; }
preciso pegar esse usuário que se logou e usar na seguinte função que fica em outra tela chamada upload.
jsp upload
<rich:fileUpload fileUploadListener="#{fileUploadBean.getUploadArquivo}" acceptedTypes="RET, ret"> <a4j:support event="onuploadcomplete" reRender="info"/> </rich:fileUpload> <h:commandButton value="Importar" action="#{fileUploadBean.importar}" label="Importar"/>
preciso passar o id do usuario logado nesta página para entao chamar a função java que importa o arquivo e grava no banco.Consigo exibir em qualquer página do sistema o id, nome e login do usuário logado, mas nao sei como repassar este valor para a função que importa o arquivo. Se puderem ajudar fico grato.
Obrigado.
Alexandre Pires
Curtir tópico
+ 0
Responder
Posts
05/06/2011
Davi Costa
Pesquise sobre algum framework de segurança já pronto testado não precisa reinventar roda, eu aconselharia Spring Security.
Mas se quiser continuar fazendo as coisas na mão. Use um filter e jogue o usuário logado na sessão(session) e sempre que precisa dele pegue esse atributo na session. É interessante tb criar um botão de logoff para redirecionar o usuário para a tela de autenticação e setar como null esse atributo usuário da session.
Espero ter ajudado
Att Davi
Mas se quiser continuar fazendo as coisas na mão. Use um filter e jogue o usuário logado na sessão(session) e sempre que precisa dele pegue esse atributo na session. É interessante tb criar um botão de logoff para redirecionar o usuário para a tela de autenticação e setar como null esse atributo usuário da session.
Espero ter ajudado
Att Davi
Responder
Gostei + 0
09/06/2011
Dyego Carmo
Voce pode tentar passar o parametro "por dentro" , ou seja , usando o <f:setPropertyActionListener/>
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)