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; } }
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; } }