Boa tarde, estou tendo alguns problemas quanto a fazer uma validação de usuario no seam e gostaria da ajuda de vocês, pois estou começando a mecher com seam agora
minha classe authenticator modifiquei da padrao que veio@Name("authenticator")
@Scope(ScopeType.CONVERSATION)
public class Authenticator extends EntityQuery<Cliente>
{
private static final long serialVersionUID = 1L;
private Cliente cliente;
@In(value = "entityManager")
private EntityManager em;
public Authenticator(){
cliente = new Cliente();
}
public boolean authenticate(){
cliente= (Cliente) em.createQuery("select cliente from Cliente cliente " +
"where cliente.nome = :nome and cliente.cpf = :cpf").
setParameter(":nome", cliente.getNome()).setParameter(":cpf",cliente.getCpf())
.getSingleResult();
if(cliente == null){
return false;
}else{
return true;
}
}
/**
*
* Getter e Setter
*/
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
Minha tela de login
<body>
<f:view>
<h:form id="authenticator">
<s:validateAll >
<h:panelGrid columns="2">
Nome do cliente : <h:inputText value="#{authenticator.cliente.nome}" id="nome"/><h:message for="nome"/>
Cpf do cliente : <h:inputText value="#{authenticator.cliente.cpf}" id="cpf"/><h:message for="cpf"/>
</h:panelGrid>
</s:validateAll>
<h:commandButton action="#{authenticator.authenticate}" value="Logar" id="logar"/>
<s:button view="/cadastroCliente.xhtml" value="Novo cadastro" />
</h:form>
</f:view>
</body>