/** * Método usado para autenticar o usuário no sistema. Aqui o método utiliza o valor dos atributos * userCpf e password setados pelo usuário na página para tentar realizar a autenticação, que será * confirmada pela chamada do método login da instância de authenticationService. * * @return */ public String logar() { String retorno = ""; usuario = new Usuario(); usuario.setCpf(userCpf); usuario.setSenhahash(password); if (usuarioService.findByCpfSenha(usuario.getCpf(), usuario.getSenhahash())) { listaPermissao = permissaoService.findByUsuario(usuario); usuario.setPermissoes(listaPermissao); if (!listaPermissao.isEmpty()) { if (listaPermissao != null && listaPermissao.size() >= 2) { return "escolhaPerfil"; } else { idPermissaoAtual = listaPermissao.get(0).getId(); buscarPerfilUsuarioOrgaoPermissaoId(); if (listaPerfilUsuarioOrgaos.size() >= 2) { return "escolhaPerfil"; } else { retorno = autenticacaoUsuario(listaPermissao.get(0), null); } } } else { MensagensController.addError("O usuário não contém nenhum Orgao atribuido!"); } } else { MensagensController.addWarn("Usuário ou Senha Inválidos!"); return "login"; } return retorno; }