package org.jboss.seam.example.seamdiscs.action; import java.util.List; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Logger; import org.jboss.seam.annotations.Name; import org.jboss.seam.example.seamdiscs.model.User; import org.jboss.seam.framework.EntityController; import org.jboss.seam.log.Log; import org.jboss.seam.security.Identity; @Name("authenticator") public class Authenticator extends EntityController { @Logger Log log; @In Identity identity; public boolean authenticate() { log.info("authenticating #0", identity.getUsername()); List<User> users = getEntityManager().createQuery("select u from User u where u.username = :username and u.password = :password").setParameter("username", identity.getUsername()).setParameter("password", identity.getPassword()).getResultList(); if (users.size() == 1) { identity.addRole("admin"); return true; } else { return false; } } }