Example #1
0
    protected void _rptGrupos_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "Select")
            {
                //Limpa a busca realizada com outra visão
                __SessionWEB.BuscaRealizada = new MSTech.GestaoEscolar.BLL.BuscaGestao();

                // Carrega grupo selecionado na Session
                SYS_Grupo grupo = new SYS_Grupo {
                    gru_id = new Guid(e.CommandArgument.ToString())
                };
                __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(grupo);

                // Realiza autenticação do usuário no Sistema Gestão Acadêmica
                HttpContext.Current.User.Identity.AddGrupoId(Request, __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString());

                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, String.Format("Autenticação do usuário ( {0} ) com grupo ( {1} ) no sistema ( {2} ).", __SessionWEB.__UsuarioWEB.Usuario.usu_login, __SessionWEB.__UsuarioWEB.Grupo.gru_nome, __SessionWEB.TituloSistema));

                //Response.Redirect("~/Index.aspx", false);
                Response.Redirect("~/Login.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text   = UtilBO.GetErroMessage("Não foi possível atender a solicitação.<br />Clique no botão voltar e tente novamente.", UtilBO.TipoMensagem.Erro);
            btnVoltar.Visible = true;
        }
    }
Example #2
0
    protected void grvPermissoes_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            GridView grvPermissoes = (GridView)sender;

            int       sis_id   = Convert.ToInt32(grvPermissoes.DataKeys[e.Row.RowIndex]["sis_id"]);
            int       mod_id   = Convert.ToInt32(grvPermissoes.DataKeys[e.Row.RowIndex]["mod_id"]);
            DataTable dtModulo = SYS_ModuloBO.SelectBy_mod_id_Filhos(sis_id, mod_id);

            if (dtModulo.Rows.Count > 0)
            {
                GridView grv = (GridView)e.Row.FindControl("grvPermissoesChild");
                grv.DataSource = SYS_GrupoBO.GetSelectPermissoes(mod_id, new Guid(grvPermissoes.DataKeys[e.Row.RowIndex]["gru_id"].ToString()));
                grv.DataBind();

                LinkButton lkb = (LinkButton)e.Row.FindControl("lkbExpandir");
                if (lkb != null)
                {
                    lkb.OnClientClick = "ExpandCollapse3('" + grv.ClientID + "', '" + lkb.ClientID + "');  return false;";
                    lkb.Visible       = true;
                }
            }
            else
            {
                e.Row.Cells[ColumnCollapse].Visible = false;
            }
        }
    }
Example #3
0
    protected void _btnSalvar_Click(object sender, EventArgs e)
    {
        try
        {
            List <SYS_GrupoPermissao> lstPermissoes = new List <SYS_GrupoPermissao>();

            // Configura List de entidade SYS_GrupoPermissao
            foreach (RepeaterItem item in _rptModulos.Items)
            {
                GridView grvPermissoes = (GridView)item.FindControl("UCPermissoes1").FindControl("grvPermissoes");
                lstPermissoes = AddGrupoPermissao(lstPermissoes, grvPermissoes);
            }

            // Salva List de entidade SYS_GrupoPermissao
            if (SYS_GrupoBO.SalvarPermissoes(lstPermissoes))
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "gru_id: " + _VS_gru_id);
                __SessionWEB.PostMessages = UtilBO.GetErroMessage("Permissões do grupo salvas com sucesso.", UtilBO.TipoMensagem.Sucesso);

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Grupo/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar as permissões do grupo.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar as permissões do grupo.", UtilBO.TipoMensagem.Erro);
        }
    }
Example #4
0
    protected void _ddlGrupos_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (new Guid(_ddlGrupos.SelectedValue) != Guid.Empty)
            {
                SYS_Grupo grupo = new SYS_Grupo
                {
                    gru_id = new Guid(_ddlGrupos.SelectedValue)
                };
                SYS_GrupoBO.GetEntity(grupo);

                _VisibleUa(grupo.vis_id);
            }
            else
            {
                divUA.Visible = false;
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
    }
Example #5
0
    protected void _dgvGrupo_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid gru_id = new Guid(_dgvGrupo.DataKeys[index].Value.ToString());

                SYS_Grupo EntityGrupo = new SYS_Grupo {
                    gru_id = gru_id
                };
                SYS_GrupoBO.GetEntity(EntityGrupo);

                if (SYS_GrupoBO.Delete(EntityGrupo))
                {
                    _dgvGrupo.PageIndex = 0;
                    _dgvGrupo.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "gru_id: " + gru_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Grupo excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o grupo.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
    /// <summary>
    /// Insere e altera um grupo de usuário.
    /// </summary>
    private void _Salvar()
    {
        try
        {
            SYS_Grupo grupo = new SYS_Grupo
            {
                gru_id         = _VS_gru_id
                , gru_nome     = _txtNome.Text
                , gru_situacao = (_chkBloqueado.Checked ? Convert.ToByte(2) : Convert.ToByte(1))
                , sis_id       = Convert.ToInt32(UCComboSistemas1._Combo.SelectedValue) > 0 ? Convert.ToInt32(UCComboSistemas1._Combo.SelectedValue) : Convert.ToInt32(null)
                , vis_id       = Convert.ToInt32(UCComboVisao1._Combo.SelectedValue) > 0 ? Convert.ToInt32(UCComboVisao1._Combo.SelectedValue) : Convert.ToInt32(null)
                , IsNew        = (_VS_gru_id != Guid.Empty) ? false : true
            };

            Guid gru_idPermissao = string.IsNullOrEmpty(UCComboGrupo1._Combo.SelectedValue) || UCComboGrupo1._Combo.SelectedValue == "-1" ? Guid.Empty : new Guid(UCComboGrupo1._Combo.SelectedValue);
            Guid gru_idUsuario   = string.IsNullOrEmpty(UCComboGrupo2._Combo.SelectedValue) || UCComboGrupo2._Combo.SelectedValue == "-1" ? Guid.Empty : new Guid(UCComboGrupo2._Combo.SelectedValue);

            if (SYS_GrupoBO.Save(grupo, gru_idPermissao, gru_idUsuario, null))
            {
                if (_VS_gru_id == Guid.Empty)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "gru_id: " + grupo.gru_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Grupo incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "gru_id: " + grupo.gru_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Grupo alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Grupo/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o grupo.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception e)
        {
            ApplicationWEB._GravaErro(e);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o grupo.", UtilBO.TipoMensagem.Erro);
        }
        finally
        {
            _updGrupos.Update();
        }
    }
Example #7
0
        private void LoadSession(SYS_Usuario entityUsuario)
        {
            __SessionWEB.__UsuarioWEB.Usuario     = entityUsuario;
            __SessionWEB.__UsuarioWEB.responsavel = RadioButtonList1.SelectedIndex == 1;
            if (__SessionWEB.__UsuarioWEB.responsavel)
            {
                SYS_Usuario entityUsuarioAluno = new SYS_Usuario
                {
                    ent_id = UCComboEntidade1.Valor
                    ,
                    usu_login = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + txtLogin.Text
                };

                SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno);
                __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id;
            }

            // Carrega grupos do usuário
            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AreaAlunoSistemaID);

            // Verifica se foi carregado os grupos do usuário
            if (list.Count > 0)
            {
                __SessionWEB.__UsuarioWEB.Grupo = list[0];
            }
            else
            {
                throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado.");
            }

            // Armazena o cid_id referente a entidade do usuário na Session
            Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id
            };

            SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

            END_Endereco entityEndereco = new END_Endereco {
                end_id = entityEntidadeEndereco.end_id
            };

            END_EnderecoBO.GetEntity(entityEndereco);
            __SessionWEB._cid_id = entityEndereco.cid_id;

            // Armazena o nome da pessoa ou o login do usuário na Session
            PES_Pessoa EntityPessoa = new PES_Pessoa {
                pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
            };

            PES_PessoaBO.GetEntity(EntityPessoa);
            __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome;
        }
        protected override void OnLoad(EventArgs e)
        {
            string dirIncludes = __SessionWEB._AreaAtual._DiretorioIncludes;

            Page.Header.Controls.Add(UtilBO.SetStyleHeader(dirIncludes, "altoContraste.css", true));

            //Inicia tag que checa se o browser é IE6
            LiteralControl ifIE6 = new LiteralControl("<!--[if IE 6]>");

            Page.Header.Controls.Add(ifIE6);

            //Adiciona css para IE6
            Page.Header.Controls.Add(UtilBO.SetStyleHeader(dirIncludes, "cssIE6.css", false));

            //Fecha tag que checa se o browser é IE6
            LiteralControl endifIE6 = new LiteralControl("<![endif]-->");

            Page.Header.Controls.Add(endifIE6);

            if (__SessionWEB.__UsuarioWEB.Grupo != null)
            {
                __SessionWEB.__UsuarioWEB.GrupoPermissao = SYS_GrupoBO.GetGrupoPermissaoBy_url(
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id
                    , HttpContext.Current.Request.CurrentExecutionFilePath
                    );
                SYS_Modulo mod = new SYS_Modulo
                {
                    mod_id = __SessionWEB.__UsuarioWEB.GrupoPermissao.mod_id,
                    sis_id = __SessionWEB.__UsuarioWEB.GrupoPermissao.sis_id
                };
                HttpContext.Current.Session[SYS_Modulo.SessionName] = SYS_ModuloBO.GetEntity(mod);
            }

            Title = CoreLibrary.Web.WebProject.ApplicationWEB._TituloDasPaginas;

            base.OnLoad(e);

            // Adiciona Init.js, que carrega na tela todas as funções declaradas dos outros scripts.
            // Carregar sempre por último - depois de todos os outros Js da página.
            ScriptManager sm = ScriptManager.GetCurrent(this);

            if (sm != null)
            {
                sm.Scripts.Add(new ScriptReference(ArquivoJS.Init));
            }
        }
Example #9
0
        protected virtual void LoadUser(AuthenticationIdentity user, HttpActionContext actionContext)
        {
            if (HttpContext.Current != null)
            {
                BaseApiController baseApiController = actionContext.ControllerContext.Controller as BaseApiController;

                if (baseApiController != null)
                {
                    // Chave padrão do cache - nome do método + parâmetros.
                    string chave = RetornaChaveCache_LoadUser(user);
                    object cache = HttpContext.Current.Cache[chave];

                    if (cache == null)
                    {
                        #region Load user values

                        UsuarioWEB userLogged = new UsuarioWEB();

                        // Carrega usuário na session através do ticket de authenticação
                        userLogged.Usuario = new SYS_Usuario
                        {
                            ent_id = user.Entity
                            ,
                            usu_login = user.Login
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(userLogged.Usuario);

                        userLogged.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                            gru_id = user.Group
                        });

                        baseApiController.__userLogged = userLogged;

                        #endregion

                        HttpContext.Current.Cache.Insert(chave, userLogged, null, DateTime.Now.AddMinutes(GestaoEscolarUtilBO.MinutosCacheMedio)
                                                         , System.Web.Caching.Cache.NoSlidingExpiration);
                    }
                    else
                    {
                        baseApiController.__userLogged = cache as UsuarioWEB;
                    }
                }
            }
        }
Example #10
0
        /// <summary>
        /// Carrega os Grupos de usuários do Core. Verifica para quais grupos o tipo de evento estará visível
        /// </summary>
        /// <param name="tev_id">ID do tipo de evento</param>
        private void CarregaGrupos(int tev_id)
        {
            lblMensagem.Text = UtilBO.GetErroMessage("Selecione os grupos em que o tipo de evento estará visível.", UtilBO.TipoMensagem.Informacao);

            cblGrupos.DataSource     = SYS_GrupoBO.ConsultarPorSistema(__SessionWEB.__UsuarioWEB.Grupo.sis_id);
            cblGrupos.DataValueField = "gru_id";
            cblGrupos.DataTextField  = "gru_nome";
            cblGrupos.DataBind();

            foreach (ACA_TipoEventoGrupo item in ACA_TipoEventoGrupoBO.SelectByTipoEvento(tev_id))
            {
                ListItem list = cblGrupos.Items.FindByValue(item.gru_id.ToString());

                if (list != null)
                {
                    list.Selected = true;
                }
            }
        }
Example #11
0
    private void _LoadSelectedGrupoUsuario(Guid gru_id)
    {
        try
        {
            _LoadGrupos(true);
            _LimparDivAddGrupos();
            _ddlGrupos.SelectedValue = gru_id.ToString();
            _ddlGrupos.Enabled       = false;

            SYS_UsuarioBO.TmpGrupos grupo = _VS_Grupos[gru_id];
            _ckbGrupo_Bloqueado.Checked = (grupo.usg_situacao == 2) ? true : false;

            SYS_Grupo entityGrupo = new SYS_Grupo
            {
                gru_id = gru_id
            };
            SYS_GrupoBO.GetEntity(entityGrupo);

            _VisibleUa(entityGrupo.vis_id);

            List <SYS_UsuarioBO.TmpEntidadeUA> lt = _VS_EntidadeUA[gru_id];
            foreach (SYS_UsuarioBO.TmpEntidadeUA ent in lt)
            {
                ListItem li;
                if (ent.Entidade)
                {
                    li = new ListItem(ent.EntidadeOrUA, ent.ent_id.ToString());
                }
                else
                {
                    li = new ListItem(ent.EntidadeOrUA, String.Concat(ent.ent_id, ";", ent.uad_id));
                }
                _lstUAs.Items.Add(li);
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
    }
Example #12
0
        public static SYS_Grupo ObterGrupoDoUsuarioDoClaimsIdentity()
        {
            SYS_Grupo grupo    = null;
            var       identity = HttpContext.Current.User.Identity as ClaimsIdentity;

            if (identity != null)
            {
                var grupoIdClaim = identity.FindFirst(AutenticadorCustomClaimTypes.GrupoId);

                if (grupoIdClaim != null && !string.IsNullOrWhiteSpace(grupoIdClaim.Value))
                {
                    grupo = new SYS_Grupo
                    {
                        gru_id = Guid.Parse(grupoIdClaim.Value)
                    };

                    grupo = SYS_GrupoBO.GetEntity(grupo);
                }
            }

            return(grupo);
        }
    /// <summary>
    /// Carrega os dados do grupo de usuário nos controles caso seja alteração.
    /// </summary>
    /// <param name="gru_id"></param>
    private void _LoadFromEntity(Guid gru_id)
    {
        try
        {
            SYS_Grupo grupo = new SYS_Grupo {
                gru_id = gru_id
            };
            SYS_GrupoBO.GetEntity(grupo);

            _VS_gru_id    = grupo.gru_id;
            _txtNome.Text = grupo.gru_nome;
            UCComboSistemas1._Combo.SelectedValue = grupo.sis_id.ToString();
            UCComboVisao1._Combo.SelectedValue    = grupo.vis_id.ToString();
            if (grupo.gru_situacao != 4)
            {
                _chkBloqueado.Checked = ((grupo.gru_situacao == 1) ? false : true);
            }
            else
            {
                _chkBloqueado.Checked = true;
                _chkBloqueado.Enabled = false;
            }

            UCComboSistemas1._Combo.Enabled = false;
            UCComboVisao1._Combo.Enabled    = false;

            UCComboGrupo1.Visible = false;
            UCComboGrupo2.Visible = false;
        }
        catch (Exception e)
        {
            ApplicationWEB._GravaErro(e);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
        finally
        {
            _updGrupos.Update();
        }
    }
Example #14
0
        public HttpResponseMessage PostLogin(Usuario usuario)
        {
            try
            {
                var user = new SYS_Usuario {
                    usu_login = usuario.login, usu_senha = usuario.senha, ent_id = usuario.entidade
                };
                LoginStatus status = SYS_UsuarioBO.ValidarLogin(user);

                if (status == LoginStatus.Sucesso)
                {
                    if (SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(user))
                    {
                        var grupos = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(user.usu_id, ApplicationWEB.SistemaID);
                        if (grupos.Count > 0)
                        {
                            var grupo = grupos.First();
                            Dictionary <string, object> dic = new Dictionary <string, object>();
                            dic.Add("login", user.usu_login);
                            dic.Add("entity", user.ent_id);
                            dic.Add("group", grupo.gru_id);

                            var jwtKey            = System.Configuration.ConfigurationManager.AppSettings["jwtKey"];
                            SymmetricAlgorithm sa = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES);

                            PES_Pessoa entityPessoa = new PES_Pessoa {
                                pes_id = user.pes_id
                            };
                            PES_PessoaBO.GetEntity(entityPessoa);

                            bool docente = false;
                            if (grupo.vis_id == SysVisaoID.Individual)
                            {
                                // Carrega a entidade docente de acordo com a pessoa do usuário logado.
                                ACA_Docente entityDocente;
                                ACA_DocenteBO.GetSelectBy_Pessoa(user.ent_id, user.pes_id, out entityDocente);
                                docente = entityDocente.doc_id > 0;
                            }

                            UsuarioLogado usuarioLogado = new UsuarioLogado {
                                grupo   = grupos.First().gru_nome,
                                nome    = (string.IsNullOrEmpty(entityPessoa.pes_nome) ? user.usu_login : entityPessoa.pes_nome),
                                docente = docente,
                                token   = JWT.JsonWebToken.Encode(dic, sa.Decrypt(jwtKey), JWT.JwtHashAlgorithm.HS256)
                            };

                            return(Request.CreateResponse(HttpStatusCode.OK, usuarioLogado));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não está vinculado a um grupo"));
                        }
                    }
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não encontrado"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário ou senha inválidos"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Example #15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                // Verifica se usuário está autenticado
                if (UserIsAuthenticated())
                {
                    // Carrega grupos do usuário
                    IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                        __SessionWEB.__UsuarioWEB.Usuario.usu_id
                        , ApplicationWEB.SistemaID);

                    // Verifica se foi carregado os grupos do usuário
                    if (list.Count > 0)
                    {
                        // Verifica se usuário logado possui um único grupo para carregar na Session,
                        // caso possua vários grupos será necessário selecionar apenas um grupo
                        if (list.Count == 1)
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = list[0];

                            LoadSessionSistema();
                            // Realiza autenticação do usuário no Sistema Administrativo

                            //SYS_UsuarioBO.AutenticarUsuario(__SessionWEB.__UsuarioWEB.Usuario, __SessionWEB.__UsuarioWEB.Grupo);

                            SignHelper.AutenticarUsuario(__SessionWEB.__UsuarioWEB.Usuario, __SessionWEB.__UsuarioWEB.Grupo);

                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, String.Format("Autenticação do usuário ( {0} ) com grupo ( {1} ) no sistema ( {2} ).", __SessionWEB.__UsuarioWEB.Usuario.usu_login, __SessionWEB.__UsuarioWEB.Grupo.gru_nome, __SessionWEB.TituloSistema));

                            Response.Redirect("~/Index.aspx", false);
                            HttpContext.Current.ApplicationInstance.CompleteRequest();
                        }
                        else
                        {
                            rptGrupos.DataSource = list;
                            rptGrupos.DataBind();
                            divGrupos.Visible = true;
                        }
                    }
                    else
                    {
                        throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado.<br />Clique no botão voltar e tente novamente.");
                    }
                }
                else
                {
                    throw new ValidationException("O usuário não tem permissão de acesso ao sistema.<br />Clique no botão voltar e tente novamente.");
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text   = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                btnVoltar.Visible = true;
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text   = UtilBO.GetErroMessage("Não foi possível atender a solicitação.<br />Clique no botão voltar e tente novamente.", UtilBO.TipoMensagem.Erro);
                btnVoltar.Visible = true;
            }
        }
    }
Example #16
0
    /// <summary>
    /// Função recursiva, utilizada para configurar
    /// módulos e grupos de permissões
    /// </summary>
    /// <param name="lstPermissao">List de entidade SYS_GrupoPermissao</param>
    /// <param name="grvPermissao">GridView de permissão</param>
    /// <returns></returns>
    protected List <SYS_GrupoPermissao> AddGrupoPermissao(List <SYS_GrupoPermissao> lstPermissao, GridView grvPermissao)
    {
        List <SYS_GrupoPermissao> lst = new List <SYS_GrupoPermissao>();
        int sis_id = 0;
        int mod_id = 0;

        foreach (GridViewRow row in grvPermissao.Rows)
        {
            sis_id = Convert.ToInt32(grvPermissao.DataKeys[row.DataItemIndex].Values["sis_id"]);
            mod_id = Convert.ToInt32(grvPermissao.DataKeys[row.DataItemIndex].Values["mod_id"]);

            SYS_GrupoPermissao entityGrupoPermissao = new SYS_GrupoPermissao
            {
                gru_id = new Guid(grvPermissao.DataKeys[row.DataItemIndex].Values["gru_id"].ToString())
                ,
                sis_id = sis_id
                ,
                mod_id = mod_id
            };

            CheckBox chkConsulta = (CheckBox)row.FindControl("chkConsulta");
            entityGrupoPermissao.grp_consultar = chkConsulta != null && chkConsulta.Checked;

            CheckBox chkInserir = (CheckBox)row.FindControl("chkInserir");
            entityGrupoPermissao.grp_inserir = chkInserir != null && chkInserir.Checked;

            CheckBox chkAlterar = (CheckBox)row.FindControl("chkEditar");
            entityGrupoPermissao.grp_alterar = chkAlterar != null && chkAlterar.Checked;

            CheckBox chkExcluir = (CheckBox)row.FindControl("chkExcluir");
            entityGrupoPermissao.grp_excluir = chkExcluir != null && chkExcluir.Checked;

            lst.Add(entityGrupoPermissao);

            // Verifica se existe módulos filhos, caso exista utiliza recursividade
            GridView grvPermissoesChild = (GridView)row.FindControl("grvPermissoesChild");
            if (grvPermissoesChild != null)
            {
                if (grvPermissoesChild.Rows.Count > 0)
                {
                    lst = AddGrupoPermissao(lst, grvPermissoesChild);
                }
            }
        }

        // Obtém o módulo pai e Verifica se já está existe na estrutura de dados
        int mod_id_pai       = SYS_GrupoBO.GetSelectPermissoesBy_ModuloPai(mod_id, sis_id).FirstOrDefault();
        int mod_id_pai_index = lstPermissao.FindIndex(p => p.mod_id == mod_id_pai && p.sis_id == sis_id);

        // Verifica se algum dos módulos possui permissão
        if (SYS_GrupoBO.GetSelectPermissoesBy_Estado(lst).Count == 0)
        {
            // Caso nenhum módulo possua permissão, o módulo pai também não terá permissão
            SYS_GrupoPermissao p = new SYS_GrupoPermissao
            {
                gru_id        = _VS_gru_id,
                sis_id        = sis_id,
                mod_id        = mod_id_pai,
                grp_consultar = false,
                grp_inserir   = false,
                grp_alterar   = false,
                grp_excluir   = false
            };

            if (mod_id_pai_index < 0)
            {
                lstPermissao.Add(p);
            }
            else
            {
                lstPermissao[mod_id_pai_index] = p;
            }
        }
        else
        {
            // Caso algum módulo possua permissão, o módulo pai também terá permissão
            SYS_GrupoPermissao p = new SYS_GrupoPermissao
            {
                gru_id        = _VS_gru_id,
                sis_id        = sis_id,
                mod_id        = mod_id_pai,
                grp_consultar = true,
                grp_inserir   = true,
                grp_alterar   = true,
                grp_excluir   = true
            };

            if (mod_id_pai_index < 0)
            {
                lstPermissao.Add(p);
            }
            else
            {
                lstPermissao[mod_id_pai_index] = p;
            }
        }

        lstPermissao = lstPermissao.Union(lst).ToList();
        return(lstPermissao);
    }
Example #17
0
 protected void Page_PreRender(object sender, EventArgs e)
 {
     grvPermissoes.DataSource = SYS_GrupoBO.GetSelectPermissoes(ModuloPaiId, GrupoId);
     grvPermissoes.DataBind();
 }
Example #18
0
        /// <summary>
        /// Verifica se a Session do usuário está nula,
        /// se estiver verifica o FormsIdentity e carrega a Session
        /// </summary>
        private void GetFormsIdentityLoadSession()
        {
            try
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    //var identity = HttpContext.Current.User.Identity as FormsIdentity;
                    //if (identity != null)
                    //{
                    var identity = HttpContext.Current.User.Identity;
                    var entityId = identity.GetEntityId();
                    var usuLogin = identity.GetUsuLogin();
                    if (identity != null && entityId != null && usuLogin != null)
                    {
                        //    // Recupera Ticket de autenticação gravado em Cookie
                        //    FormsIdentity id = identity;
                        //FormsAuthenticationTicket ticket = id.Ticket;

                        // Carrega usuário na session através do ticket de authenticação
                        __SessionWEB.__UsuarioWEB.Usuario = new SYS_Usuario
                        {
                            ent_id    = new Guid(entityId),
                            usu_login = usuLogin
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(__SessionWEB.__UsuarioWEB.Usuario);

                        // Carrega grupo na session através do ticket de autenticação
                        var gru_id = identity.GetGrupoId();
                        if (!string.IsNullOrEmpty(gru_id))
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                                gru_id = new Guid(gru_id)
                            });
                        }
                        else
                        {
                            // Carrega grupos do usuário
                            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                                __SessionWEB.__UsuarioWEB.Usuario.usu_id
                                , ApplicationWEB.SistemaID);

                            // Verifica se foi carregado os grupos do usuário
                            if (list.Count > 0)
                            {
                                // Seleciona o primeiro grupo do usuário logado para carregar na Session
                                __SessionWEB.__UsuarioWEB.Grupo = list[0];

                                DataTable dtUaPermissao = ESC_EscolaBO.RetornaUAPermissaoUsuarioGrupo(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB._EntidadeID, __SessionWEB.__UsuarioWEB.Grupo.gru_id);
                                if (dtUaPermissao.Rows.Count > 0)
                                {
                                    int esc_id;
                                    Int32.TryParse(dtUaPermissao.Rows[0]["esc_id"].ToString(), out esc_id);
                                    __SessionWEB.__UsuarioWEB.Esc_idPermissao = esc_id;

                                    //Caso não tenha escola, significa que o usuário possui permissão de Gestão
                                    if (esc_id == 0)
                                    {
                                        if (!string.IsNullOrEmpty(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString()))
                                        {
                                            __SessionWEB.__UsuarioWEB.Uad_idSuperiorPermissao = new Guid(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString());
                                        }
                                    }
                                }
                            }
                        }
                        // Carrega o cid_id na session referente a entidade do usuário autenticado
                        Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id;
                        Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(ent_id);

                        SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                            ent_id = ent_id, ene_id = ene_id
                        };
                        SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

                        END_Endereco entityEndereco = new END_Endereco {
                            end_id = entityEntidadeEndereco.end_id
                        };
                        END_EnderecoBO.GetEntity(entityEndereco);

                        __SessionWEB._cid_id = entityEndereco.cid_id;

                        // Carrega nome ou login na session do usuário autenticado
                        PES_Pessoa entityPessoa = new PES_Pessoa {
                            pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                        };
                        PES_PessoaBO.GetEntity(entityPessoa);
                        __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(entityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : entityPessoa.pes_nome;

                        LoadSessionSistema();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
            }
        }
Example #19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                //#region Trace
                //// ***** TRACE *****
                //// Write a trace message
                //if (Trace.IsEnabled)
                //{
                //    // Forms
                //    if (HttpContext.Current.User != null)
                //    {
                //        Trace.Write("HttpContext.Current.User", HttpContext.Current.User.ToString());
                //        Trace.Write("HttpContext.Current.User.Identity", HttpContext.Current.User.Identity.ToString());
                //        if (HttpContext.Current.User.Identity is FormsIdentity)
                //        {
                //            Trace.Write("HttpContext.Current.User.Identity.IsAuthenticated", HttpContext.Current.User.Identity.IsAuthenticated.ToString());
                //            if (HttpContext.Current.User.Identity.IsAuthenticated)
                //            {
                //                FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;
                //                Trace.Write("FormsIdentity.Ticket.Name", id.Ticket.Name);
                //                Trace.Write("FormsIdentity.Ticket.IssueDate", id.Ticket.IssueDate.ToString());
                //            }
                //        }
                //    }
                //    else
                //    {
                //        Trace.Write("HttpContext.Current.User", "NULL");
                //    }

                //    // Session
                //    if(__SessionWEB.__UsuarioWEB.Usuario != null)
                //    {
                //        Trace.Write("__SessionWEB.__UsuarioWEB.Usuario.usu_login", __SessionWEB.__UsuarioWEB.Usuario.usu_login);
                //        Trace.Write("__SessionWEB.__UsuarioWEB.Usuario.usu_login", __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString());
                //    }
                //    else
                //    {
                //        Trace.Write("__SessionWEB.__UsuarioWEB.Usuario", "NULL");
                //    }
                //}
                //// ***** FIM *****
                //#endregion

                // Verifica se usuário está autenticado
                if (UserIsAuthenticated())
                {
                    __SessionWEB.__UsuarioWEB.responsavel = false;

                    // Carrega grupos do usuário
                    IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                        __SessionWEB.__UsuarioWEB.Usuario.usu_id
                        , ApplicationWEB.AreaAlunoSistemaID);

                    // Verifica se foi carregado os grupos do usuário
                    if (list.Count > 0)
                    {
                        // Verifica se usuário logado possui um único grupo para carregar na Session,
                        // caso possua vários grupos será necessário selecionar apenas um grupo
                        if (list.Count == 1)
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = list[0];

                            HttpContext.Current.User.Identity.AddGrupoId(Request, __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString());
                            //// Realiza autenticação do usuário no Sistema Gestão Acadêmica
                            //SYS_UsuarioBO.AutenticarUsuario(__SessionWEB.__UsuarioWEB.Usuario, __SessionWEB.__UsuarioWEB.Grupo);

                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, String.Format("Autenticação do usuário ( {0} ) com grupo ( {1} ) no sistema ( {2} ).", __SessionWEB.__UsuarioWEB.Usuario.usu_login, __SessionWEB.__UsuarioWEB.Grupo.gru_nome, __SessionWEB.TituloSistema));

                            //Response.Redirect("~/Index.aspx", false);
                            Response.Redirect("~/Login.aspx", false);
                            HttpContext.Current.ApplicationInstance.CompleteRequest();
                        }
                        else
                        {
                            rptGrupos.DataSource = list;
                            rptGrupos.DataBind();
                            divGrupos.Visible = true;
                        }
                    }
                    else
                    {
                        throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado.");
                    }
                }
                else
                {
                    throw new ValidationException("O usuário não tem permissão de acesso ao sistema.");
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text   = UtilBO.GetErroMessage(ex.Message + "<br />Clique no botão voltar e tente novamente.", UtilBO.TipoMensagem.Alerta);
                btnVoltar.Visible = true;
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text   = UtilBO.GetErroMessage("Não foi possível atender a solicitação.<br />Clique no botão voltar e tente novamente.", UtilBO.TipoMensagem.Erro);
                btnVoltar.Visible = true;
            }
        }
    }