private bool LoginGSI(LoginForm form) { try { WSGSI webSerciceGSI = new WSGSI(); var ambiente = 1;//Producao var myAes = Aes.Create(); myAes.Key = key; byte[] encrypted = Criptografia.EncryptStringToBytes_Aes(form.Senha, myAes.Key, myAes.IV); var usuario = webSerciceGSI.GSI_AutenticarUsuario_Permissao_Ambiente_AES_NomeSocial_SO( form.Usuario, encrypted, myAes.IV, form.Dominio, sistemaId, ambiente, sUser, sPwd ).FirstOrDefault(); //Obter grupos permitidos ao usuário para o sistema List <GrupoSistemaUsuarioWS> GrupoSistemaUsuario = webSerciceGSI.GSI_SelecionaGrupoSistemaUsuario_SO(usuario.UsuarioID, sistemaId, sUser, sPwd).ToList(); if (!GrupoSistemaUsuario.Any()) { throw new Exception("O usuário não tem permissão para este sistema!"); } var sistemas = webSerciceGSI.GSI_SelecionaSistemasUsuario(usuario.UsuarioID, sUser, sPwd); //Carrega Menus do sistema string Menu = string.Empty; Menu = webSerciceGSI.GSI_SelecionaMenu_TokenCompleto(usuario.UsuarioID, GrupoSistemaUsuario[0].GrupoID, GrupoSistemaUsuario[0].cod_estrutura, sistemaId, sUser, sPwd); var menu = this.MontarMenuHtml(Menu); this.MenuPermissao(Menu, usuario.UsuarioID, GrupoSistemaUsuario[0].GrupoID); GerenciadorSessao.UsuarioLogado = new UsuarioAutenticacao { NomeCompleto = usuario.NomeUsuario, Perfil = GrupoSistemaUsuario[0].NomeGrupo, PerfilId = GrupoSistemaUsuario[0].GrupoID, UsuarioId = usuario.UsuarioID, MenuHtml = menu.ToString(), UrlsPermitidas = _urlsPermitidas, ListaSistemasSiglas = sistemas.Select(x => x.SiglaSistema).ToList(), AreaId = GrupoSistemaUsuario[0].cod_estrutura == 2627 ? (int)EPortalSistemasArea.SED : (int)EPortalSistemasArea.Escolas }; return(true); } catch (Exception) { throw; } }
private void MenuPermissao(string menuString, int UsuarioId, int perfilId) { try { WSGSI webSerciceGSI = new WSGSI(); XDocument MenusSistema = new XDocument(); MenusSistema = XDocument.Parse(menuString); List <ItemMenu> listItemMenu = new List <ItemMenu>(); List <XElement> ListaMenus = (from ms in MenusSistema.Descendants("Menu") select ms).ToList(); List <XElement> ListaMenusPai = ListaMenus.Where(m => m.Attribute("MenuPai").Value.Equals("6698") && !m.Attribute("NavigateURL").Value.Equals("#")).ToList(); List <IUrlPermitida> listaMenuOperacao = new List <IUrlPermitida>(); foreach (XElement menu in ListaMenusPai) { var menuId = Convert.ToInt32(menu.Attribute("MenuID").Value); var url = menu.Attribute("NavigateURL").Value; var operacoesMenu = webSerciceGSI.GSI_ConsultarMenuOperacao(UsuarioId, menuId, sUser, sPwd); List <GrupoOperacao> listaOperacoes = new List <GrupoOperacao>(); foreach (OperacaoWS op in operacoesMenu) { listaOperacoes.Add(new GrupoOperacao { Operacao = op.NomeOperacao, PerfilId = perfilId }); } var urlPermitida = new UrlPermitida { Operacoes = listaOperacoes, Url = url, MenuId = menuId }; listaMenuOperacao.Add(urlPermitida); } //listaMenuOperacao.Add(new UrlPermitida //{ // MenuId = 0, // Url = "/PortalSistemas/SimularAcesso", // Operacoes = new List<GrupoOperacao> { new GrupoOperacao { Operacao = "CONSULTAR", PerfilId = 305 } } //}); _urlsPermitidas = listaMenuOperacao; } catch (Exception) { throw; } }
private void SairSimularAcessoGSI(int UsuarioId) { try { WSGSI webSerciceGSI = new WSGSI(); //Obtem Usuário do GSI pelo UsuarioId dele var usuario = webSerciceGSI.GSI_SelecionaUsuarioID_SO(UsuarioId, sUser, sPwd); if (usuario == null) { throw new Exception("Usuario não encontrado!"); } //Obtêm os grupos permitidos ao usuário para o sistema List <GrupoSistemaUsuarioWS> GrupoSistemaUsuario = webSerciceGSI.GSI_SelecionaGrupoSistemaUsuario_SO(usuario.UsuarioID, sistemaId, sUser, sPwd).ToList(); if (!GrupoSistemaUsuario.Any()) { throw new Exception("O usuário não tem permissão para este sistema!"); } //Obtêm a lista de sistemas permitidos ao usuário var sistemas = webSerciceGSI.GSI_SelecionaSistemasUsuario(usuario.UsuarioID, sUser, sPwd); //Carrega Menus do sistema string Menu = string.Empty; Menu = webSerciceGSI.GSI_SelecionaMenu_TokenCompleto(usuario.UsuarioID, GrupoSistemaUsuario[0].GrupoID, GrupoSistemaUsuario[0].cod_estrutura, sistemaId, sUser, sPwd); var menu = this.MontarMenu(Menu); //Retorna o usuário ao usuário de Login GerenciadorSessao.UsuarioLogado = new UsuarioAutenticacao { NomeCompleto = usuario.NomeUsuario, Perfil = GrupoSistemaUsuario[0].NomeGrupo, UsuarioId = usuario.UsuarioID, MenuHtml = menu.ToString(), ListaSistemasSiglas = sistemas.Select(x => x.SiglaSistema).ToList(), SimularAcesso = false, UsuarioIdLogin = null, AreaId = GerenciadorSessao.UsuarioLogado.AreaId }; } catch (Exception) { throw; } }
public object GetListaDominio() { try { WSGSI webSerciceGSI = new WSGSI(); var dominio = webSerciceGSI.GSI_SelecionarDominio_SO(sUser, sPwd).ToList(); var result = dominio.Select(x => new { dominio = x.NomeDominio }) .OrderBy(y => y.dominio); return(new { result = result }); } catch (Exception ex) { return(new { mensagens = ex.CriarErroResposta() }); } }
private bool SimularAcessoLoginGSI(int UsuarioId, ref SimularAcessoEscopo escopo) { try { WSGSI webSerciceGSI = new WSGSI(); //Obtem Usuário do GSI pelo UsuarioId dele var usuario = webSerciceGSI.GSI_SelecionaUsuarioID_SO(UsuarioId, sUser, sPwd); if (usuario == null) { throw new Exception("Usuario não encontrado!"); } //Obtêm os grupos permitidos ao usuário para o sistema List <GrupoSistemaUsuarioWS> GrupoSistemaUsuario = webSerciceGSI.GSI_SelecionaGrupoSistemaUsuario_SO(usuario.UsuarioID, sistemaId, sUser, sPwd).ToList(); if (!GrupoSistemaUsuario.Any()) { throw new Exception("O usuário não tem permissão para este sistema!"); } //Obtêm a lista de sistemas permitidos ao usuário var sistemas = webSerciceGSI.GSI_SelecionaSistemasUsuario(usuario.UsuarioID, sUser, sPwd); //Carrega Menus do sistema string Menu = string.Empty; Menu = webSerciceGSI.GSI_SelecionaMenu_TokenCompleto(usuario.UsuarioID, GrupoSistemaUsuario[0].GrupoID, GrupoSistemaUsuario[0].cod_estrutura, sistemaId, sUser, sPwd); var menu = this.MontarMenu(Menu); //Carrega permissões GeoEstrutura //List<int> ListaGeoEstruturaID = new List<int>(); //foreach (GrupoSistemaUsuarioWS grupo in GrupoSistemaUsuario) //{ // ListaGeoEstruturaID.Add(grupo.cod_estrutura); //} //Mantêm os dados do Portal do Usuário escopo.ManterDadosPortalUsuario(GrupoSistemaUsuario[0].cod_estrutura, usuario.UsuarioID, usuario.NomeUsuario, usuario.Email, usuario.LoginAD, usuario.NomeDominio, GrupoSistemaUsuario[0].GrupoID, GrupoSistemaUsuario[0].NomeGrupo); bool SimularAcesso = GerenciadorSessao.UsuarioLogado.SimularAcesso; int? UsuarioIdLogin; if (!SimularAcesso) { UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioId; } else { UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioIdLogin; } GerenciadorSessao.UsuarioLogado = new UsuarioAutenticacao { NomeCompleto = usuario.NomeUsuario, Perfil = GrupoSistemaUsuario[0].NomeGrupo, UsuarioId = usuario.UsuarioID, MenuHtml = menu.ToString(), ListaSistemasSiglas = sistemas.Select(x => x.SiglaSistema).ToList(), SimularAcesso = true, UsuarioIdLogin = UsuarioIdLogin, AreaId = GerenciadorSessao.UsuarioLogado.AreaId }; return(true); } catch (Exception) { throw; } }