package action.cliente; import com.opensymphony.xwork2.ActionSupport; import dao.UsuarioDAO; import java.util.Map; import model.Usuario; import util.BCrypt; import org.apache.struts2.interceptor.SessionAware; public class LoginAction extends ActionSupport implements SessionAware { /* Form */ private String email; private String password; /* Session */ private Map session; /* Error */ private String error = null; /* Acceso a datos */ UsuarioDAO usuarioDAO; public LoginAction() { usuarioDAO = new UsuarioDAO(); } public String execute() { session = getSession(); Usuario user = usuarioDAO.findByEmail(email); if (user == null) { user = usuarioDAO.findUsername(email); } if (user != null) { boolean validate = BCrypt.checkpw(password, user.getPassword()); //if (user.getPassword().matches(StringMD.getStringMessageDigest(password, StringMD.MD5))) { if (validate) { if (user.isBaneado()) { error = "Este usuario ha sido baneado"; return "ERROR"; } session.put("user", user); session.put("logged", true); if (user.getPrivilegios() > 0) { return "LOGIN"; } return "SUCCESS"; } else { error = "ContraseƱa Incorrecta"; } } else { error = "Usuario no existente"; } return "ERROR"; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public void setSession(Map session) { this.session = session; } public Map getSession() { return session; } public String getError() { return error; } public void setError(String error) { this.error = error; } }