public Object liberarUsuario(String login) { Usuario u = pesquisarPorLogin(login); u.setContadorSenhaInvalida(0); u.setStatus(EnumUsuarioAutenticado.SUCESSO); alterar(u); return "Liberado"; }
public List<String> listarUsuariosString() { List<String> usuarios = new ArrayList<String>(); for (Usuario u : listarUsuarios()) { usuarios.add(u.toString()); } return usuarios; }
private void trataSenhaInvalidaDoUsuario(Usuario usuarioRecuperadoDoBD) { int numeroDeChancesRestantes = 3 - usuarioRecuperadoDoBD.getContadorSenhaInvalida(); boolean deveBloquearUsuario = numeroDeChancesRestantes == 0; if (deveBloquearUsuario) { usuarioRecuperadoDoBD.setStatus(EnumUsuarioAutenticado.USUARIO_BLOQUEADO); } getDAO().atualizar(usuarioRecuperadoDoBD); }
public Boolean usuarioEstaLogado(String login, String senha) { Object o = null; try { o = autentica(login, senha); } catch (ErroNegocio e) { if (e.getErro().equals(EnumUsuarioAutenticado.USUARIO_INEXISTENTE.getMensagem())) { return false; } } Usuario u = null; if (existe(o) && o instanceof Usuario) { u = (Usuario) o; } boolean usuarioEstaLogado = false; if (existe(u)) { usuarioEstaLogado = Sessoes.usuarioLogado(u.getLogin()); } return usuarioEstaLogado; }
@Override public Usuario inserir(Usuario usuario) throws SysErr, ErroNegocio { log("Inserindo " + getNomeEntidade()); boolean usuarioJaExiste = getFinder().findByLogin(usuario.getLogin()) != null; if (usuarioJaExiste) { throw new ErroNegocio(EnumUsuarioCadastrado.USUARIO_DUPLICADO.getMensagem()); } else { Usuario uCadastrado = getDAO().inserir(usuario); boolean ocorreuAlgumErro = uCadastrado == null; if (ocorreuAlgumErro) { throw new ErroNegocio(EnumUsuarioCadastrado.ERRO_AO_CRIAR_USUARIO.getMensagem()); } else { Sessoes.addSessao(uCadastrado); return uCadastrado; } } }
public List<Movimentacao> findByUsuarioComo(String login) { Usuario u = FinderUsuario.getInstancia().findByLogin(login); return u.getMovimentacoes(); }
/** * Metodo de Autenticacao de Usuario * * @param login * @param senha * @return */ public Usuario autentica(String login, String senha) throws Erro { log("Autenticando " + getNomeEntidade()); Usuario u = new Usuario(); u.setLogin(login); Usuario usuarioRecuperadoDoBD = new Usuario(); usuarioRecuperadoDoBD = getFinder().findByLogin(u.getLogin()); // Primeiro verificamos se o usuario existe. if (existe(usuarioRecuperadoDoBD)) { // Verificamos se usuario e senha informado batem com o banco. boolean usuarioConfere = (login.equals(usuarioRecuperadoDoBD.getLogin()) && senha.equals(usuarioRecuperadoDoBD.getSenha())); boolean usuarioEstaBloqueado = !(usuarioRecuperadoDoBD.getStatus() == null || !usuarioRecuperadoDoBD .getStatus() .equals(EnumUsuarioAutenticado.USUARIO_BLOQUEADO)); boolean ehFinalDeSemana = UtilsData.ehFinalDeSemana(); boolean ehHorarioComercial = UtilsData.ehHorarioComercial(); boolean ehAdm = ehAdm(usuarioRecuperadoDoBD); boolean usuarioPodeAcessar = usuarioConfere && ((!usuarioEstaBloqueado && !ehFinalDeSemana && ehHorarioComercial) || ehAdm); if (usuarioPodeAcessar) { log(getNomeEntidade() + " autenticado com sucesso"); } else if (!usuarioConfere) { log(getNomeEntidade() + " informado com senha inválida..."); usuarioRecuperadoDoBD.setContadorSenhaInvalida( usuarioRecuperadoDoBD.getContadorSenhaInvalida() + 1); boolean avisaUsuarioBloqueioNoProximoErro = (3 - usuarioRecuperadoDoBD.getContadorSenhaInvalida()) == 1; trataSenhaInvalidaDoUsuario(usuarioRecuperadoDoBD); if (avisaUsuarioBloqueioNoProximoErro) { throw new ErroNegocio( EnumUsuarioAutenticado.SENHA_INVALIDA_ULTIMA_TENTATIVA.getMensagem()); } else { throw new ErroNegocio(EnumUsuarioAutenticado.SENHA_INVALIDA.getMensagem()); } } else if (usuarioEstaBloqueado) { throw new ErroNegocio(EnumUsuarioAutenticado.USUARIO_BLOQUEADO.getMensagem()); } else if (ehFinalDeSemana) { throw new ErroNegocio(EnumUsuarioAutenticado.FINAL_DE_SEMANA.getMensagem()); } else if (!ehHorarioComercial) { throw new ErroNegocio(EnumUsuarioAutenticado.FORA_DO_HORARIO_COMERCIAL.getMensagem()); } } else { log(EnumUsuarioAutenticado.USUARIO_INEXISTENTE.getMensagem()); throw new ErroNegocio(EnumUsuarioAutenticado.USUARIO_INEXISTENTE.getMensagem()); } return usuarioRecuperadoDoBD; }
private boolean ehAdm(Usuario usuarioRecuperadoDoBD) { return usuarioRecuperadoDoBD.getPerfil().equals(Role.ADMINISTRADOR); }