Esempio n. 1
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;
            }
        }
Esempio n. 2
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;
            }
        }