package org.jboss.seam.example.seambay;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.security.Identity;
@Name("authenticator")
public class Authenticator
{
@In
private EntityManager entityManager;
@In
private Identity identity;
public boolean authenticate()
{
try
{
User user = (User) entityManager.createQuery(
"from User where username = :username and password = :password")
.setParameter("username", identity.getUsername())
.setParameter("password", identity.getPassword())
.getSingleResult();
Contexts.getSessionContext().set("authenticatedUser", user);
Contexts.getSessionContext().set("authenticatedAccount", user.getAccount());
return true;
}
catch (NoResultException ex)
{
return false;
}
}
}