[Resolvido] Não efetua Login

2 respostas
gfkauer

Boa tarde senhores,

Estudando um pouco sobhre JSF, segui este tutorial [url]http://uaihebert.com/?p=836[/url].Beleza, seguindo tudo que se sucede neste tutorial a aplicação funcionou perfeitamente.

Agora, para aprimorar esta aplicação resolvi implementar uma biblioteca visual, neste caso escolho o PRIMEFACES 3.

Minha telha de login ficou assim:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
<h:head>
    <h:outputStylesheet library="css" name="main.css" />
</h:head>
<h:body>
    <p>Login to access secure pages:</p>
    <h:form method="post" action="j_security_check">
        <h:messages layout="table" errorStyle="background: #AFEEEE;"
            infoStyle="background: #AFEEEE;" globalOnly="true" />
        <h:panelGrid columns="2">
            <h:outputLabel value="Username: " />
            <p:inputText value="#{usuarioMB.usuario.email}"/>
            <h:outputLabel value="Password: " />
            <p:password value="#{usuarioMB.usuario.password}"/>
            <h:outputText value="" />
            <h:panelGrid columns="1">
                <p:commandButton action="#{usuarioMB.login}" value="Logar"/>
            </h:panelGrid>
        </h:panelGrid>
        <br />
    </h:form>

</h:body>

</html>
e meu managedBean de usuário ficou assim:
package com.mb;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import com.facade.UsuarioFacade;
import com.model.Usuario;
 
@RequestScoped
@ManagedBean
public class UsuarioMB {

	@EJB
    private UsuarioFacade usuarioFacade;
 
	private static final String LIST_ALL_DOGS = "listAllDogs";
	
	private static final String STAY_IN_THE_SAME_PAGE = null;
    
	private Usuario usuario;
    
    public UsuarioMB(){
    	usuario = new Usuario();
    }
    
    public Usuario getUsuario(){
        if(usuario == null){
            ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
            String userEmail = context.getUserPrincipal().getName();
 
            usuario = usuarioFacade.findUserByEmail(userEmail);
        }
 
        return usuario;
    }
 
    public boolean isUserAdmin(){
        return getRequest().isUserInRole("ADMIN");
    }
 
    public String logOut(){
        getRequest().getSession().invalidate();
        return "logout";
    }
 
    private HttpServletRequest getRequest() {
        return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    }

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	public String login(){
		return LIST_ALL_DOGS;
		/*try{
			usuario = usuarioFacade.login(usuario.getEmail(), usuario.getPassword());
			if (usuario != null){
				System.out.println("Usuário Valido");
				return LIST_ALL_DOGS;
			} else {
				System.out.println("usuário invalido");
				return STAY_IN_THE_SAME_PAGE;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return STAY_IN_THE_SAME_PAGE;
		}*/
	}
    
}

Porem, o login não ocorre, tão pouco gera algum erro. Fiz diversos testes e simulações e não consegui ver onde eu erro...
Caso algum de vocês tenha alguma idéia agradeceria.

2 Respostas

Hebert_Coelho

Muito bom esse link aí hein?! :lol: :lol: :lol:

Troca seu botão para <p:commandButton action="#{usuarioMB.login}" value=“Logar” ajax=“false”/>

gfkauer

jakefrog:
Muito bom esse link aí hein?! :lol: :lol: :lol:

Troca seu botão para <p:commandButton action="#{usuarioMB.login}" value=“Logar” ajax=“false”/>

Sim, muito bom este link, e sua solução funcionou perfeitamente.

Criado 31 de janeiro de 2012
Ultima resposta 31 de jan. de 2012
Respostas 2
Participantes 2