public String autenticacaoUsuario( Permissao permissaoAute, PerfilUsuarioOrgao perfilUsuarioOrgao) { permissaoAtual = listaPermissao.get(listaPermissao.indexOf(permissaoAute)); // Confere se o mesmo contém permissão para algum orgão if (!permissaoAtual.getPerfilUsuarioOrgaos().isEmpty()) { if (authenticationService.login(usuario)) { if (listaPermissao != null && !listaPermissao.isEmpty()) { setPermissoes(listaPermissao); // Verefica se as permissoes do usuário é mais que 1..então. idPermissaoAtual = permissaoAtual.getId(); // modelMenu = MenuUtil.formarMenu(menuService.findByMenu(usuario.getCpf(), // permissaoAtual.getPerfil().getId())); setMenusAcesso( menuService.findByMenu(usuario.getCpf(), permissaoAtual.getPerfil().getId())); // BUSCA OS PERFILSUUSARIOORGAOPERMISSAO que o usuário tem acesso.. todos os orgãos. buscarPerfilUsuarioOrgaoPermissaoId(); // Quando for na hora de logar o sistema pegará sempre a primeira possição do vetor. if (perfilUsuarioOrgao == null) { orgaoPerfilAcesso = permissaoAtual.getPerfilUsuarioOrgaos().get(0).getOrgao(); } else { // orgaoPerfilAcesso = // permissaoAtual.getPerfilUsuarioOrgaos().get(permissaoAtual.getPerfilUsuarioOrgaos().indexOf(perfilUsuarioOrgao)).getOrgao(); orgaoPerfilAcesso = perfilUsuarioOrgao.getOrgao(); } // Atribui os valores na sessao orgaoDescricao = permissaoAtual.getLotadoOrgao(); regionalId = permissaoAtual.getLotadoRegional_id(); regionalDescricao = permissaoAtual.getRegional(); setorDescricao = permissaoAtual.getLotadoSetor(); setorId = permissaoAtual.getLotadoSetor_id(); setServidor(authenticationService.getUsuarioLogado().getCpf()); autenticado = true; return "/index?faces-redirect=true"; } else { MensagensController.addWarn("Nao contem permissao para o Usuário!"); return "login"; } } else { MensagensController.addWarn("Usuário ou Senha Inválidos!"); return "login"; } } else { logout(); MensagensController.addError("O usuário não contém nenhum Orgao atribuido!"); return "login"; } }
public String trocaPerfilOrgao(PerfilUsuarioOrgao perfilUsuarioOrgao) { System.out.println("Aqui troca 1"); Usuario usuarioLocal = usuario; authenticationService.logout(); usuario = usuarioLocal; System.out.println("Aqui troca 2"); return autenticacaoUsuario(perfilUsuarioOrgao.getPermissaoUsuario(), perfilUsuarioOrgao); }
/** * Método para efetuar o logout do usuário no sistema. Utiliza uma chamada ao método logout do * serviço de autenticação. * * @return */ public String logout() { autenticado = false; servidor = new Servidor(); authenticationService.logout(); return "sair"; }