Пример #1
0
  public ActionForward processar(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    logger.entering(new Object[0]);

    UsuarioForm myForm = (UsuarioForm) form;
    Usuario usuario = this.usuarioFacade.getUsuarioLogin(myForm.getLogin());
    Integer nrTentativasMax =
        Integer.valueOf(MessagesUtil.getInt("MessageResources", "numero.max.tentativas"));
    if (usuario != null) {
      if (usuario.getBloqueado().booleanValue()) {
        addMensagem(
            request,
            new ActionMessage("msg.usuario.bloqueado", new String[] {usuario.getNome()}),
            "mensagemNegativa");
        return mapping.findForward("principal");
      }
      if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) {
        addMensagem(
            request, new ActionMessage("msg.usuario.bloqueado", new String[0]), "mensagemNegativa");
        return mapping.findForward("principal");
      }
      if (!Cryptex.decrypt(usuario.getSenha()).equals(myForm.getSenha())) {
        usuario.setTentativas(Integer.valueOf(usuario.getTentativas().intValue() + 1));
        if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) {
          usuario.setBloqueado(Boolean.valueOf(true));

          this.usuarioFacade.atualizar(usuario);
          addMensagem(request, new ActionMessage("msg.usuario.bloquear"), "mensagemNegativa");
          return mapping.findForward("principal");
        }
        this.usuarioFacade.atualizar(usuario);
        addMensagem(
            request,
            new ActionMessage(
                "msg.senha.invalida",
                new Object[] {
                  Integer.valueOf(usuario.getTentativas().intValue()),
                  Integer.valueOf(nrTentativasMax.intValue()),
                  Integer.valueOf(nrTentativasMax.intValue())
                }),
            "mensagemAdvertencia");
        return mapping.findForward("principal");
      }

      usuario.setTentativas(Integer.valueOf(0));
      this.usuarioFacade.atualizar(usuario);
    } else {
      addMensagem(request, new ActionMessage("msg.usuario.inexistente"), "mensagemNegativa");
      return mapping.findForward("principal");
    }
    controlAcesso(request, usuario);

    ContextoUsuario contextoUsuario = new ContextoUsuario();
    contextoUsuario.setUsuarioLogado(usuario);
    registrarContextoUsuario(contextoUsuario, request.getSession());
    ActionUtil.getInstance().montarMenu(contextoUsuario, request.getSession());

    montaHome(request, usuario);
    adicionaMotivos(request.getSession());

    logger.exiting(new Object[0]);
    return mapping.findForward("home");
  }
Пример #2
0
 private void montaHome(HttpServletRequest request, Usuario usuario) throws ViewException {
   setPageResult(
       this.atendimentoFacade.getAtendimentosUsuario(usuario.getId(), getPageResult(request)),
       request);
 }