Skip to content

Instantly share code, notes, and snippets.

Created March 29, 2010 15:01
Show Gist options
  • Save anonymous/347923 to your computer and use it in GitHub Desktop.
Save anonymous/347923 to your computer and use it in GitHub Desktop.
@Resource
public class LoginController {
private UsuarioDao usuarioDao;
private UsuarioLogado usuarioLogado;
private Result result;
public LoginController(UsuarioDao usuarioDao, UsuarioLogado usuarioLogado,
Result result) {
this.usuarioDao = usuarioDao;
}
public void autentica(Usuario usuario) {
Usuario autenticado = usuarioDao.buscaUsuarioPorLoginESenha(usuario);
if (autenticado != null) {
usuarioLogado.efetuaLogin(autenticado);
result.use(Results.logic()).redirectTo(PrincipalController.class).formulario();
return;
}
result.use(Results.logic()).redirectTo(LoginController.class).formulario();
}
public void formulario() {
}
}
***********************************************************************************
@Component
@SessionScoped
public class UsuarioLogado {
private Usuario usuarioLogado;
public void efetuaLogin(Usuario usuario){
this.usuarioLogado = usuario;
}
public Usuario getUsuario(){
return this.usuarioLogado;
}
}
*******************************************************************
@Component
@RequestScoped
public class UsuarioDao {
private final Session session;
public UsuarioDao() {
session = new HibernateUtil().openSession();
}
public Usuario buscaUsuarioPorLoginESenha(Usuario usuario) {
Query query = this.session.createQuery("from Usuario where login = :pLogin and senha = :pSenha");
query.setParameter("pLogin", usuario.getLogin());
query.setParameter("pSenha", usuario.getSenha());
return (Usuario) query.uniqueResult();
}
}
*********************************************************************
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.addAnnotatedClass(Usuario.class);
sessionFactory = configuration.buildSessionFactory();
new SchemaExport(configuration).create(true, false);
}
public Session openSession() {
return sessionFactory.openSession();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment