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; } }
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; } } }
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); } }
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); } }
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(); } }
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)); } }
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; } } } }
/// <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; } } }
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); } }
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(); } }
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)); } }
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; } } }
/// <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); }
protected void Page_PreRender(object sender, EventArgs e) { grvPermissoes.DataSource = SYS_GrupoBO.GetSelectPermissoes(ModuloPaiId, GrupoId); grvPermissoes.DataBind(); }
/// <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); } }
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; } } }