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