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;
            }
        }
Esempio n. 3
0
        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() });
            }
        }
Esempio n. 5
0
        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;
            }
        }