public String recuperarPassword() {

    if (usuarioSessionBean.isEstaRegistrado()) {
      JsfUtil.addErrorMessage("Ya estás registrado, no es posible continuar");
      return null;
    }

    if (correoElectronico.isEmpty()) {
      JsfUtil.addErrorMessage("Ingrese por favor su correo electrónico");
    }

    usuario = usuarioSessionBean.getUsuarioByEmail(correoElectronico);

    if (usuario != null) {

      enviarNotificaciones();
      JsfUtil.addInfoMessage(
          "Su datos de acceso se han enviado al correo electrónico ingresado, aguarde unos segundos y verifique su casilla de correo por favor");
      JsfUtil.addWarningMessage(
          "Si no encuentra el correo, verifique que no haya ingresado a no deseado");
      muestraRecupero = false;
      return "/seguridad/login.xhtml";
    } else {
      JsfUtil.addErrorMessage(
          "El correo electrónico ingresado no corresponde a un usuario activo. Intente de nuevo por favor.");
      return null;
    }
  }
  public void cambiarPassword() {

    try {
      if (rCampoPassword.equals(usuario.getPassword())) {
        usuario.setCambiaPassword("N");
        usuarioDAO.editar(usuario);
        JsfUtil.addInfoMessage(
            "Muy bien!. Su clave ha sido modificada satisfactoriamento. Haga click en \"Finalizar\" para continuar");
        enviarNotificacionesCambioClave();
        muestraCambio = false;
      } else {
        usuario.setPassword("");
        rCampoPassword = "";
        JsfUtil.addErrorMessage("Los datos ingresados no coinciden, ingrese nuevamente su clave");
      }
    } catch (Exception e) {

      JsfUtil.addErrorMessage("No es posible cambiar el password en este momento, error interno");
      System.err.println("Error al cambiar password: " + e.getMessage());
    }
  }