/** * Método usado ao escolher um perfil de usuário, para usuário que possuem permissões de perfis * diferentes. * * @return */ public String escolhePerfil() { // boolean sucesso = authenticationService.login(userCpf, password); // boolean sucesso = authenticationService.login(usuario); // selecionar perfil atual for (Permissao pe : listaPermissao) { if (pe.getId().equals(idPermissaoAtual)) { return autenticacaoUsuario( pe, perfilUsuarioOrgaoService.findByPerfilUsuarioOrgaoId(perfilUsuarioOrgaoId)); } } return ""; }
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 void buscarPerfilUsuarioOrgaoPermissaoId() { // Busca todos os perfilUsuarioOrgao.. os orgao que aquele perfil tem acesso. permissaoAtual.setPerfilUsuarioOrgaos( perfilUsuarioOrgaoService.findByPerfilUsuarioId(idPermissaoAtual)); listaPerfilUsuarioOrgaos = permissaoAtual.getPerfilUsuarioOrgaos(); }