package br.usp.ime.academicdevoir.dao; import java.util.List; import org.apache.commons.lang.StringUtils; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; import br.com.caelum.vraptor.ioc.Component; import br.usp.ime.academicdevoir.entidade.Usuario; import br.usp.ime.academicdevoir.infra.Criptografia; @Component public class UsuarioDao { /** * @uml.property name="session" * @uml.associationEnd multiplicity="(0 -1)" elementType="br.usp.ime.academicdevoir.entidade.Usuario" */ private final Session session; public UsuarioDao(Session session){ this.session = session; } @SuppressWarnings("unchecked") public Usuario fazLogin(String login, String senha){ try{ List<Usuario> user = session.createCriteria(Usuario.class) .add(Restrictions.like("login", login)) .list(); if (user == null) return null; if (user.size() == 0) return null; if(StringUtils.isBlank(login) || StringUtils.isBlank(senha)) return null; // Gerando a senha criptografada para comparar String senhaCripto = new Criptografia().geraMd5(senha); if(user.get(0).getSenha().equals(senhaCripto)) return user.get(0); return null; } catch (Exception e) { return null; } } }