package org.jboss.seam.example.jpa;
import static org.jboss.seam.ScopeType.SESSION;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.faces.FacesMessages;
@Name("authenticator")
public class AuthenticatorAction
{
@In EntityManager em;
@Out(required=false, scope = SESSION)
private User user;
public boolean authenticate()
{
try
{
user = (User) em.createQuery("select u from User u where u.username=#{identity.username} and u.password=#{identity.password}")
.getSingleResult();
return true;
}
catch (NoResultException e)
{
FacesMessages.instance().add("Authentication failed");
return false;
}
}
}